AutoParameterizationWebConfigConnectionStrings在azure devops发布管道中不起作用

时间:2020-02-05 21:50:31

标签: azure-devops azure-pipelines-release-pipeline azure-pipelines-build-task azure-pipelines-release-task

我在Azure DevOps中为新项目设置生成和发布管道。我从一个已经工作了一段时间的现有项目中反映了这一点。

问题在于,连接字符串无法通过XML或发布管道变量替换进行转换。

在构建阶段传递了以下参数:

/p:AutoParameterizationWebConfigConnectionStrings=false /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

但是,当我使用system.debug = true发行时,在两个项目中,我都看到此错误:

Web.config中的

ConnectionString属性默认情况下是参数化的。请注意,该转换对connectionString属性没有影响,因为在部署期间该值会被'Parameters.xml或'SetParameters.xml'文件覆盖。您可以在生成MSBuild软件包的过程中通过设置/ p:AutoParameterizationWebConfigConnectionStrings = False来禁用自动参数化。

我在发布管道上确实选中了XML转换和XML变量替换框。

我试图整日无济于事。

还有其他想法或建议吗?

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,请尝试通过在项目文件中添加以下字符串来禁用自动参数化,并检查是否可行。 (确保将标签放置在正确的位置,例如您在方案中提到的位置:在release build属性组下)

<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>

此外,请参考此博客以检查是否有助于您进行故障排除:Using XML Transformations when deploying to Azure App Service using VSTS