我在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变量替换框。
我试图整日无济于事。
还有其他想法或建议吗?
答案 0 :(得分:0)
作为一种解决方法,请尝试通过在项目文件中添加以下字符串来禁用自动参数化,并检查是否可行。 (确保将标签放置在正确的位置,例如您在方案中提到的位置:在release build属性组下)
<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>
此外,请参考此博客以检查是否有助于您进行故障排除:Using XML Transformations when deploying to Azure App Service using VSTS