gpt4 book ai didi

azure-devops - 使用发布管道变量更新 web.config 值的推荐方法是什么?

转载 作者:行者123 更新时间:2023-12-05 03:22:42 24 4
gpt4 key购买 nike

我计划使用 azure devops 发布管道将 .NET 网络应用部署到测试、uat 和生产环境中。

我以前从事过具有 appsettings.json 文件并使用变量替换方法的项目,如下面的屏幕截图所示:

enter image description here

在对包含 web.config.NET 网络应用程序 进行变量替换时,我正在探索以下选项:

  1. 生成显示在上面标记的 JSON 部分上方的 web.config 参数部分。但描述说它适用于 Python、Node.js、Go 和 Java 应用程序。它没有提到 .NET。
  2. 在 web.config 文件中,我可以在值中添加类似 XXMARKERXX 的内容,然后通过 Powershell 脚本将上面的内容替换为管道变量中的内容?

最佳答案

web.config文件是XML格式类型的文件。因此,您不能在任务中使用 JSON 变量替换选项来更新值。

以下是更新 Web.config 文件中的值的方法:

1.您可以在 Azure 应用服务部署任务或 IIS 部署任务中使用XML 变量替换选项。

enter image description here

有关更详细的步骤,请参阅此文档:XML variable substitution

2.您可以使用PowerShell脚本修改该值。但是您不需要在 web.config 文件中添加任何额外的字符。

这是 PowerShell 脚本示例:

$myConnectionString = "test";

$webConfig = '$(build.sourcesdirectory)\Web.config'

Function updateConfig($config)
{
$doc = (Get-Content $config) -as [Xml]
$root = $doc.get_DocumentElement();
$activeConnection = $root.connectionStrings.SelectNodes("add");
$activeConnection.SetAttribute("connectionString", $myConnectionString);
$doc.Save($config)
}

updateConfig($webConfig)

3.当你在web.config文件中添加标记:#{..}#时,你可以尝试使用Replace Tokens Extension中的Replace Token任务。 .

请引用此工单中的示例:How to perform XML Element substitution in web.config using Replace Tokens?

关于azure-devops - 使用发布管道变量更新 web.config 值的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72659479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com