我需要更新 Azure TFS 中 web.config 中的值。我能够将 connectionString 的值替换为 appSettings 的一部分(为此,我需要启用名为 XML 变量替换的设置(在 IIS Web 部署下)。
但是,web.config 中还有其他区域不会被替换。
我尝试了几种不同的方法,使用不同的任务进行令牌替换,使用变量的“发布”或“环境”设置,使用变量组。然而,这些都没有奏效。
目前我正在使用替换令牌任务(可在https://github.com/qetza/vsts-replacetokens-task#readme 获得)
我已将令牌前缀和后缀设置为 __(以匹配 web.config)
这是 web.config 文件的摘录
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="ConnectionString" value="__ConnectionString__"/>
</appSettings>
<system.web>
<pages theme="__Theme__" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
<bindings>
<customBinding>
<binding name="TestBinding1">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
<httpsTransport manualAddressing="false" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous" bypassProxyOnLocal="false" decompressionEnabled="true" …Run Code Online (Sandbox Code Playgroud) azure-devops ×1