我目前在VSTS中使用变量替换但是我遇到了如何从列表中选择特定元素的障碍。
我必须提供我想要替换的变量的名称和用于替换旧值的键。我可以使用.
在config中选择嵌套元素。
我有以下app.config。
<services>
<service behaviorConfiguration="ServiceBehaviour" name="Application.Project01">
<endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" bindingConfiguration="web" contract="Application.Interface01">
<identity>
<dns value="dns01" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/Project01/" />
</baseAddresses>
</host>
</service>
<service behaviorConfiguration="ServiceBehaviour" name="Application.Project02">
<endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" bindingConfiguration="web" contract="Application.Interface02">
<identity>
<dns value="dns01" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/Project02/" />
</baseAddresses>
</host>
</service>
</services>
我希望能够单独替换每个服务中的变量。我感兴趣的具体密钥是services.service.endpoint.identity.dns.value
和services.host.baseaddresses.add.baseaddress
。
我已尝试以下操作来编辑dns值
services.1.service.endpoint.identity.dns
services.1.service.endpoint.identity.dns.value
我使用的任务是Azure App Service Deploy版本3. *
答案 0 :(得分:1)
对于Azure App Service Deploy任务的XML variable substitution功能,它仅对配置文件的applicationSettings,appSettings,connectionStrings和configSections元素生效。
所以你不能用它来达到你的要求。
您可以使用XML Transformation进行尝试。
您也可以尝试使用其他任务,例如Release Management Utility tasks或others。