【发布时间】:2019-04-29 18:18:04
【问题描述】:
希望我能尽可能保持清晰和简单。我正在尝试根据环境替换我的 web.config 中的变量。目前,我可以通过将变量置于“#{variablename}#”格式中来替换其他变量,例如连接字符串和应用程序设置中的变量。这不适用于端点地址中的变量。
我以前使用替换令牌来完成此操作,但现在必须将其构建到 azure 中,因为我在构建或执行替换的发布任务中没有任何额外任务。除非它在我不知道的其他地方。我已经搜索了所有我能找到的东西,但我没有看到为什么这个部分中的值没有被替换我认为它是根据名称替换的,但我不明白为什么这个值不会被替换。
此替换适用于 VariableName ConnectionString
<connectionStrings>
<add name="ConnectionString" connectionString="#{ConnectionString}#" providerName="System.Data.SqlClient"/>
</connectionStrings>
这不适用于 VariableName ServiceSoapEndPoint
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Service" />
</basicHttpBinding>
<customBinding>
<binding name="Service1">
<textMessageEncoding messageVersion="Soap1" />
<httpTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="#{ServiceSoapEndPoint}#" binding="basicHttpBinding"
bindingConfigu`enter code here`ration="ServiceSoap" contract="Service.ServiceSoap"
name="ServiceSoapEndPoint" />
</client>
【问题讨论】:
-
运行替换时日志指示什么?部署应用程序后,web.config 中会显示什么?
-
我将不得不检查日志以获取确切信息。放入的变量是 web.config 中显示的变量。我将运行该过程以尝试获取日志。
-
所以我检查了日志,没有任何关于替换发生的事情,所以我不确定它是如何工作的,因为我没有关于构建或发布的问题。但是我在应用程序设置中创建了一个变量,其名称是我尝试使用的名称并被替换,所以我不知道问题是否是因为它在 web.config 中的节点级别。
-
看起来这个问题与这个问题的问题相似,我现在正在研究这是否也能解决我的问题。 stackoverflow.com/questions/48101028/…
标签: azure-devops azure-pipelines azure-pipelines-release-pipeline