XDT转换不会应用到“ AppSettings”部分

时间:2019-03-09 09:20:40

标签: asp.net asp.net-mvc azure-devops web-config web.config-transform

我在.Net Framework 4.6.1上的ASP.NET(非核心)网站的Azure DevOps(Visual Studio Online)中具有构建和发布管道。

部署完成后,对于我在XDT转换文件中设置的所有Web.config valueAppSettings文件具有空的keys属性。

我的本地IIS使用的

Web.config具有以下值:

<appSettings>
    <add key="testKey1" value="testValue1" />
    <add key="testKey2" value="testValue2" />
    ….
    ….
</appSettings>

部署完成后,AppSettingsWeb.config中是这样的:

<appSettings>
    <add key="testKey1" value="" /> <!-- Notice how the value is empty -->
    <add key="testKey2" value="" />
    ….
    ….
</appSettings>

请注意:这是直接从服务器提取的。

我的转换文件名为Web.MyTestEnvironment.config,而MyTestEnvironment与Azure DevOps中负责部署/发布工件的阶段的名称相同。

在日志中,我可以看到azure app service deploy (Version 4.x if that matters)一步一步地应用了这些转换并报告了成功(我已经在管道变量中将System.Debug设置为true来实现这一点)。

我尝试下载工件zip文件,发现parameters.xml文件已设置了所有XPath定位器,但是SetParameters.xml文件看起来像这样:

<parameters>
    <setParameter value="" name="testKey1" /> <!-- Also notice how value is empty -->
    <setParameter value="" name="testKey2" />
</parameters>

我已经尽力想尽一切办法,并且一直在网上寻找类似的问题,但无济于事。

这是在CI任务中设置FileTransform的方式:

enter image description here

有什么想法为什么忽略我的转换?还是被SetParameters.xml文件覆盖?

我已遵循本指南在Azure DevOps中设置转换:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/transforms-variable-substitution?view=azure-devops

此外,研究了无数StackOverflow问题,但这些问题并未描述我的情况。

非常感谢您的帮助。

0 个答案:

没有答案