发布Web项目时无法在Web.config中设置$(ReplacableToken ...)

时间:2016-08-01 06:33:22

标签: continuous-integration msdeploy web-deployment-project

我有一个网络项目,我开始尝试测试发布配置。我使用Web Deploy Package进行发布方法。我的目标是为appSettings中的设置提供可替换参数,以便在部署时在SetParameters.xml中使用新的设置值。我使用在根项目文件夹中创建的parameters.xml文件,具有以下结构。

parameters.config

<parameters>
  <parameter name="webApiUrl"
             defaultValue="http://localhost:50594/">
    <parameterEntry
      kind="XmlFile"
      scope="Web.config"
      match="/configuration/appSettings/add[@key='webApiUrl']/@value" />      
  </parameter>
</parameters>

的Web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="webApiUrl" value="http://localhost:50594/" />
    </appSettings>
</configuration>

问题在于,当项目发布时,webApiUrl设置不会更改为$(ReplacableToken_webApiUrl),因此在部署项目时,不会考虑SetParameters.xml中的值。

我使用了很多不同的范围和匹配变体,但没有使用它们。 scope =&#34; \ Web.config $&#34;,&#34; obj \ x86 \ Test \ Package \ PackageTmp \ Web.config $&#34;,&#34; \ Web.config $&# 34;,&#34; \ web.config $&#34;

当我发布项目时,我检查文件夹(ProjectRoot)\ obj \ x86 \ Test \ Package \ PackageTmp \ Web.config以查看参数化是否有效。

0 个答案:

没有答案