问题标签 [web-config-transform]

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 投票
2 回答
1861 浏览

.net - .Net Web.Config 转换,替换整个 ConnectionString 部分

我一直在成功使用 web.config 转换。我最近刚刚实现了连接字符串加密,但不确定如何修改我的 Release 转换。

在此之前,我只是通过使用名称定位器来替换设置。

现在设置已加密,没有名称。

如何更新我的转换以用这个替换整个连接字符串部分?元素名称“connectionStrings”是否有定位器?

非常感谢,约翰

0 投票
1 回答
11442 浏览

web-config - XDT 转换:InsertBefore - 定位器条件被忽略

我有一个 web.config 文件,如果它已经存在,我需要在其中插入<configSections />元素或操作该节点的子节点。
如果它已经存在,我不想再次插入它(显然,因为它只允许存在一次)。

通常,这不会是一个问题,但是:

如果此元素在配置文件中,则它必须是该元素的第一个子元素。

资料来源:MSDN

因此,如果我使用xdt:Transform="InsertIfMissing"<configSections />元素将始终插入在任何现有子元素之后(并且总是有一些),违反了它必须是的第一个子元素的上述限制<configuration />

我试图通过以下方式完成这项工作:

如果该<configSections />元素尚不存在,则效果很好。但是,我指定的条件似乎被忽略了。

事实上,我已经尝试了一些条件,例如:

最后,出于绝望,我尝试了:

它仍然插入了<configSections />元素。

需要注意的是,我正在尝试将其包含在 NuGet 包中,因此我将无法使用自定义转换(如 AppHarbor 使用的转换)。

只有当它还不存在时,是否有任何其他聪明的方法可以将我的元素放在正确的位置?

要对此进行测试,请使用AppHarbors config transform tester。将 Web.config 替换为以下内容:

和 Web.Debug.config 具有以下内容:

结果将显示两个<configSections />元素,一个包含“mySection”的元素是第一个元素,如 InsertBefore 变换中指定的那样。为什么没有考虑定位条件?

0 投票
2 回答
2441 浏览

asp.net - 配置转换不适用于 Web API 发布

我有一个 ASP.NET Web API 项目,其中包括 2 个配置转换:

  • Web.Live.config
  • Web.UAT.config

如果我在发布时选择其中一个LiveUAT配置,则转换不会应用于呈现的web.config文件。

我检查了我的转换配置,并且namexdt:Transformxdt:Locator正确的。

在我的web.config我有:

在我的web.Live.config我有:

但是,即使Live选择了,我发布的连接字符串仍然显示如下:

发生这种情况的可能原因有哪些?

0 投票
1 回答
1417 浏览

asp.net-mvc - 创建发布 web.config 文件

我对这种转换很陌生,我不完全理解如何实现它。这些指南都没有意义。

我想添加

到发布配置。

我把它放在 web.release.config 之后,<system.web>但它不会这样生成。

你还想做什么。

0 投票
1 回答
3535 浏览

web-config - Applying web.config transformations locally

I have a transform for my web.config that currently works if I publish to Azure, but it's not working locally when I build/run. How can I go about "Publishing" locally so the Local transformations are applied to my web.config on my dev box?

Currently I right-click > publish to Azure, do I need to create a new publish profile for my local box? Is there any way to get the transforms to work on Build instead?

0 投票
0 回答
2028 浏览

asp.net-mvc - 无法识别的属性 'xmlns:xdt' deployonbuild=true

从命令行构建包含一些类库和 MVC 4 项目的解决方案并将 DeployOnBuild 参数设置为 true 时,执行 MvcBuildViews 步骤时出现以下错误。

我做了一些搜索,但找不到解决方案。我已将此添加为预构建步骤,但没有帮助。

尽管在我执行正常构建时需要此预构建步骤来阻止它创建此错误。

如果您需要更多详细信息,请告诉我,有什么想法吗?

0 投票
5 回答
11990 浏览

c# - C# 控制台应用程序的 App.config 文件的 Web.config 样式转换?

我的团队喜欢发布配置文件。我们有许多我们工作的测试环境,并且使用 Web.config 转换,我们能够替换每个环境中的机器名称、配置设置等,这使得我们的构建/部署/测试过程更加容易。

例如:

但是,我们有许多测试应用程序用于访问我们的 Web 服务,它们被实现为控制台应用程序。我们希望能够在这些配置文件上进行相同类型的转换,以便在拾取构建掉落时可以减少与配置文件的手动编辑相关的测试的手动劳动。

本质上,我们想要这个:

我对这些配置转换的理解是,它们与我们 Web 项目中相应的发布配置文件相关:

我试图将类似的文件添加到我们的控制台应用程序项目中,但我怀疑它是在 Web 发布 MSBuild 目标中实际使用它们的东西。

有没有办法专门挂钩到构建的这一部分,以便我们可以转换非 Web 配置?

0 投票
1 回答
942 浏览

asp.net - 如何更改配置转换中的内部文本而不是属性?

我一直在使用配置转换,但我正在努力解决一个问题:改变“内部文本”而不​​是属性。

例如,我在配置文件中有以下内容(如果有人感兴趣,Sitecore 的营销人员网络表单):

<param desc="connection string">Database=sitecore_webforms;Data Source=CHANGEME;user id=CHANGEME;password=CHANGEME;Connect Timeout=30</param>

我想将其更改为正确的连接字符串。通常这将是我可以做得很好的属性的一部分,但在这种情况下它不是。

这可能使用“香草”转换或Sayed Ibrahim Hashimi 的 SlowCheetah 吗?

0 投票
1 回答
108 浏览

asp.net-mvc - 管理不同工作场所的 web.config 变体

我不确定标题是否适合我面临的问题,所以如果有更好的术语来解决这种情况,请随时纠正它。

基本上我正在努力解决以下问题。我在两个不同的工作场所从事一个项目。问题是我的Web.config文件中有两个不同的连接字符串,因为我有不同的服务器名称。所以在源代码控制下工作很痛苦。

因此,我尝试使用配置转换,但它们仅在您发布后才起作用,而不是在您使用F5. 有什么解决办法吗?

0 投票
1 回答
5859 浏览

msbuild - 如何为我的 TransformXml 任务启用“将警告视为错误”?

我正在使用以下(高度简化的)MSBuild 脚本:

这非常适合转换单个配置文件,而无需通过 MSDeploy。

但是,假设在我的转换中我拼错了一个变量。我会收到警告:

C:\MyApp\DevOps\Config\Production\webapp.xml(15,6):警告:源文档中没有元素匹配 '/configuration/appSettings/add[@key='MyUnknownVariable']'[C:\MyApp \DevOps\ConfigBundle.msbuild]

虽然很高兴我们收到警告,但我真的需要这是一个错误,因为这将成为我们自动构建和部署过程的一部分,因此在应用程序停止工作之前,任何人都不太可能发现它。

我想要一种将这些警告视为错误的方法。根据我在互联网上看到的一些内容,我尝试了一个带有两个不同 TreatWarningsAsErrors 符号的 PropertyGroup:

我尝试在命令行上设置它(我怀疑与上面的相同):

不幸的是,这些都不起作用;继续发送警告。基于此,我猜测尊重 TreatWarningsAsErrors 指令取决于单个 MSBuild 任务,在这种情况下,TransformXml 不会。

如果我能找到一种方法来了解最后一个任务是否引发了警告,例如,我可以执行以下操作:

它并不完全完美,但这肯定会阻止构建成功完成。希望有人对此提出有用的建议。