为什么 Azure DevOps 版本正在转型 Web.config

Why is Azure DevOps Release Transforming Web.config

我设置了一个持续集成的流水线。在我的版本中,我没有启用转换。源代码有 web.config、web.debug.config 和 web.release.config。我只希望部署使用 web.config。我认为通过不启用转换它只会在 web.config.

中取值

File Transforms & Variable Substitution Options 任务不负责将 *.debug.config*.release.config 转换为您的 web.config 文件。当您在 ReleaseDebug 配置中编译解决方案时,这是由 msbuild 在您的 csproj 文件中处理的。

例如,使用发布参数在本地编译您的解决方案将实现与您在构建管道中看到的相同的结果:

msbuild mySolution.sln /p:Configuration=Release

文件转换任务负责执行其他转换,这些转换映射到与管道阶段相对应的配置文件。例如 web.Staging.configweb.Production.config,其中您的管道具有 StagingProduction 阶段。这是通过启用 Xml 转换 选项来实现的。

除了执行这些转换之外,它还可以在您 select XML 变量替换 选项时将管道变量的值注入这些文件.要利用此选项,documentation outlines 您必须使用 __VARIABLE-NAME__ 语法表示配置文件中的值。