我需要更新 Azure TFS 中 web.config 中的值。我能够获取连接字符串替换的值,该值是 appSettings 的一部分(为此,我需要启用名为 XML 变量替换的设置(在 IIS Web 部署下)。
但是,web.config 中还有其他区域不会被替换。
我尝试了几种不同的方法,使用不同的任务进行令牌替换,使用变量的“发布”或“环境”设置,使用变量组。然而,这些都不起作用。
目前我正在使用替换令牌任务(可在https://github.com/qetza/vsts-replacetokens-task#readme 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" hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous" realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false" useDefaultWebProxy="true" requireClientCertificate="false" />
</binding>
</customBinding>
__basicHttpBindingOptionalBinding__
</bindings>
<client>
<endpoint address="__TestEndPoint__" binding="customBinding" bindingConfiguration="TestBinding1" contract="BSEInspectionsWebServiceForFDA.StateDataTransfer" name="StateDataTransferPort" />
__endpointOptionalEndpoint__
</client>
</system.serviceModel>
</configuration>
我期望 basicHttpBindingOptionalBinding 和 endpointOptionalEndpoint 只有空行。这Theme需要替换为 TestTheme,并且 TestEndPoint 需要设置为变量中定义的值。
将parameters.xml 添加到您的项目中,如下所述:https://learn.microsoft.com/en-us/aspnet/web-forms/overview/deployment/web-deployment-in-the-enterprise/configuring-parameters-for-web-package-deployment https://learn.microsoft.com/en-us/aspnet/web-forms/overview/deployment/web-deployment-in-the-enterprise/configuring-parameters-for-web-package-deployment
在那里指定参数,例如“myEndpointAddress”。
然后在 IIS Web 部署任务中使用附加参数来传递值
-setParam:name='myEndPointAddress',value='new_value'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)