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

Continuous integration 发布Web项目时,无法在Web.config中设置$(ReplacableToken…),continuous-integration,msdeploy,web-deployment-project,Continuous Integration,Msdeploy,Web Deployment Project,我有一个web项目,我创建了一个测试发布配置。我使用Web部署包作为发布方法。我的目标是在appSettings中为设置提供一个可重放的参数,以便在部署时在SetParameters.xml中使用一个新的设置值。我使用根项目文件夹中创建的parameters.xml文件,其结构如下 parameters.config <parameters> <parameter name="webApiUrl" defaultValue="http://loca

我有一个web项目,我创建了一个测试发布配置。我使用Web部署包作为发布方法。我的目标是在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>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="webApiUrl" value="http://localhost:50594/" />
    </appSettings>
</configuration>

Web.config

<parameters>
  <parameter name="webApiUrl"
             defaultValue="http://localhost:50594/">
    <parameterEntry
      kind="XmlFile"
      scope="Web.config"
      match="/configuration/appSettings/add[@key='webApiUrl']/@value" />      
  </parameter>
</parameters>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="webApiUrl" value="http://localhost:50594/" />
    </appSettings>
</configuration>

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

我使用了很多不同的范围和匹配变化,但没有一个有效。 scope=“\Web.config$”、“obj\x86\Test\Package\PackageTmp\Web.config$”、“\Web.config$”、“\Web.config$”


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

我有一个非常类似的问题,您找到解决方案了吗?我有一个非常类似的问题,你找到解决办法了吗?