问题标签 [xdt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
275 浏览

android - 来自 Visual Studio (Xamarin) 的配置转换

我正在尝试在 Visual Studio 中的 Xamarin.Android 项目中对我的 Android.Manifest 文件实施预构建转换 - 目的只是根据我构建调试版本还是发布版本来更改我的应用程序的 bundleID。

我在我的解决方案中添加了一个新的 .netFramework 项目,引用了 Microsoft.Build,然后添加了一个名为 BuildTask 的新类,并在我的 Xamarin.Android 项目中引用了 DLL。

然后,我打算将 UsingTask 添加到我的 Xamarin.Android 项目的 .csproj 文件的最底部,就在结束标记的上方 - 我认为这是正确的。

在添加 UsingTask 之前,我想确保构建 Xamarin.Android 项目,但不幸的是,我在 Xamarin.Android 项目中收到有关缺少引用的错误,说我缺少对 System.Collections 的引用,但错误消失了第二个我删除了对我的新 BuildTask.DLL 的引用

我以前从未这样做过,所以我可能会走下兔子洞……如果有人有任何建议,将不胜感激。

这是我的 BuildTask 类供参考:

谢谢。

0 投票
0 回答
173 浏览

sql - 如何在大型 SQL Server 数据库中更改 xsd 架构而不发生大规模中断

我承担了向 Web 应用程序添加功能的任务,我添加的功能需要修改定义 XML 模式的 xsd 文档。我添加了一些新的可选元素等。

新模式向后兼容旧模式,这意味着现在在旧模式下的数据库中的所有内容在新模式下都是有效的(新的东西是可选的)。

我们使用 DACPAC 样式部署将其部署到一些小型环境中,并且没有任何问题。

现在,我们正在尝试针对 prodlike 数据集进行部署,这非常有问题。dacpac 需要花费大量时间。就像几天一样 - 我需要把它缩短到一两个小时。

有谁知道是否有办法解决这类问题?

如果我知道模式是兼容的,有没有办法只是“告诉”ssms,这样它就可以在不检查所有内容的情况下编辑模式?

如果做不到这一点,有没有一种方法可以在没有大量验证的情况下将类型化的 XML 列转换为非类型化的 XML 列?为了澄清,我不能这样做:

因为我明白了:

有人告诉我,即使我确实放弃了这些约束,SSMS 仍然需要永远将类型化的 XML 更改为非类型化的 XML 列......

还有其他想法吗?

编辑:似乎删除索引,将类型化的 XML 转换为非类型化的 XML,然后重新添加索引比预期的要快 - 大约需要一分钟。当 DACPAC 进行类似的更改时,一张桌子需要几个小时。我计划尽快测试从无类型到有类型的变化,但我仍然很好奇其他人是如何处理这些问题的……除了不在数据库中使用 XML,这完全是 rad如果这是绿地。

0 投票
3 回答
589 浏览

visual-studio-2017 - 如何插入作为 app.config 中的第一个孩子

0 投票
1 回答
58 浏览

nuget - 如果没有配置文件,如何在 NuGet 安装上使用 XDT?

诚然,这是一个极端案例。

但是,我开发了一些 XDT 安装和卸载转换,它们非常适合我的 NuGet 包安装和卸载。那里一切都好。

但是,如果使用项目本身在安装包时还没有 app.config 文件(或 web.config 文件),则不会出现警告或投诉,但实际上并没有创建 new-from -scratch 配置文件,其中包含我想要的“东西”。

如果还没有要转换的配置文件,您如何使用 XDT 从头开始​​创建新的配置文件?

0 投票
1 回答
141 浏览

visual-studio - 如何在我的 Web.config 中转换此元素?

我已经在这里搜索了大约半天,但我仍然像刚开始时一样一无所知。

这是我的 Web.config 的相关部分

我想替换fileName下的值configuration/nlog/targets/target。我在我的 Web.Dev.config 中尝试了六种不同的东西。最新的是

到目前为止,当我在 Visual Studio 中预览我的转换时,我没有看到任何效果。

我怀疑我没有以流程可以找到它的方式定义元素,但我不确定。

有人可以帮我弄清楚如何正确定义元素,以便我可以用新值替换该值吗?还是我只是采取了错误的方法?

好的,我想我已经想通了

似乎命名空间让我绊倒了。

我修改了我的 Web.config 的这一部分

注意,我删除了xmlns="http://www.nlog-project.org/schemas/NLog.xsd". 然后我将我的 Web.Dev.config 修改为

然后,当我预览转换时,我将其视为结果<target name="logfile" xsi:type="File" fileName="\\newlocation.ad\location1" layout="${longdate} ${callsite} ${level} ${message}"/>。我现在只希望删除命名空间不会对 NLog 产生不利影响,但我将通过测试来确定这一点。

0 投票
1 回答
49 浏览

azure - 如何为环境中的多个服务器应用配置转换?

Azure DevOps XDT 转换任务允许您构建发布配置文件,使用特定于每个环境的设置转换基本配置文件,例如指向不同环境的不同数据库服务器的连接字符串。app.dev.config 文件包含用于开发环境的转换、用于 qa 的 app.qa.config 等,这些转换在部署期间应用到基本 app.config 文件。

我需要更进一步,为负载平衡环境中的每台服务器部署自定义配置文件。例如,DEV 环境有两台服务器 dev1.mysite.com 和 dev2.mysite.com,由 dev.mysite.com 进行负载均衡。两台服务器中的每台都需要部署到该服务器的配置文件中的特定设置。

我(还)没有在 Azure DevOps 中看到这样做的方法。部分解决方案可能是使用需要应用于每个环境/服务器的设置来设置变量,但我还没有弄清楚如何将正确的变量应用于每个配置。

0 投票
1 回答
62 浏览

asp.net - 如何使用 XDT 在 web.config 中查找元素,然后将其更改为 nuget deploy

我需要使用 nuget 部署我的工作并在此过程中更改 web.config。我使用 XDT 添加以下代码:

我写了一个简单的 XDT web.config.install.xdt,它看起来像这样:

这很好用。直到我遇到一个将他们的模块放在位置而不是配置下的系统,如下所示:

所以在这种情况下,我的 XDT 找不到路径并在文件末尾创建一个新元素,这会杀死该站点。如何搜索 system.webServer 是否存在于文件中的任何位置并在那里添加我的代码?

0 投票
0 回答
56 浏览

xml - .NET5 中自定义文件的 XML 转换

我正在寻找解决方案一段时间。有人可以写一个示例如何为自定义 xml 文件进行 XML 转换吗?

背景:我正在研究我们从 .NET Framework 4.6 转换为 .NET5 的库。库有像 Library.xml 这样的配置文件,我们用于内部配置 - 由于库用户,现在我们无法将配置文件转换为 Library.json。对于外部配置,我们已经使用了 appsettings.json。

类似于:https ://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/transform-webconfig?view=aspnetcore-5.0

0 投票
1 回答
75 浏览

bash - 无法通过 XDT 在 Kudu shell 中配置 PATH 环境变量

我正在尝试为我在 Azure 中用 python 构建的 Web 应用程序设置 PATH 环境变量。我尝试在os.environ.setdefault('PATH', 'pandoc-2.14.1-1-amd64.deb')本地使用类似的东西,但是一旦上传,这似乎不起作用。我也尝试在 azure 门户的配置部分中设置路径,但出现以下错误:在此处输入图像描述

我看过类似 在 azure 中设置 webapp %PATH% 环境变量的帖子。该帖子建议将名为 applicationHost.xdt 的文件添加到主/站点目录,该目录应自动设置 PATH 变量。但是,我无法将 applicationHost.xdt 上传到目录中的文件。这要么是因为文件 UI 界面不再存在,要么是我无法访问它。通过 UI 上传的功能是否已停止?

我能想到的唯一其他解决方法是在 Kudu bash shell 中使用 echo/cat 手动创建 applicationHost.xdt。这是非常棘手的。是否有任何在线工具可以在输入文件内容的情况下创建 bash 脚本以从头开始生成该文件?

0 投票
1 回答
35 浏览

azure - 无法通过 Bash 删除文件

我通过名为“applicationHost.xdt”的 kudu bash 终端创建了一个文件。这是 Microsoft Azure 托管的应用服务计划的一部分。出于某种原因,在创建文件时,该文件在目录中缩进了一个空格前缀。我需要删除这个文件,但无法让终端看到它。请参阅下面的一些尝试来解决这个问题:

在此处输入图像描述