如何使用targets.wpp更改Web.Config的应用程序设置

时间:2015-06-02 16:06:04

标签: c# azure msbuild web-config msbuild-wpp

我创建了一个wpp.targets文件,该文件在azure中完成所有部署。我想在部署到azure期间更改webconfig的appsetting属性。我在http://sedodream.com/PermaLink,guid,25ddd39e-59de-4e35-becc-de19dcc5e4ea.aspx中找到了一个使用pubxml和parameters.xml的示例。我想使用wpp.targets而不是pubxml。

  <appSettings>
    <!-- TODO: set this in the azure config -->
    <add key="customer" value="xyz" />
  </appSettings>

需要将客户价值更新为&#34;客户&#34;在部署期间,web.config文件应该反映已部署文件夹中的更改,如下所示

  <appSettings>
    <add key="customer" value="client" />
  </appSettings>

ANSWER

我已经在msDeploy中使用 ProjectParametersXMLFile

msbuild Api.csproj    /p:ProjectParametersXMLFile="c:\parameter.xml"/p:PublishSettingsFile=%publishFileLocation% 

1 个答案:

答案 0 :(得分:2)

您可以使用参数xml文件

例如

<parameters >
  <parameter name="customer" description="web Job queue name"  defaultValue="sitetest1">
    <parameterEntry kind="XmlFile" 
                    scope="\\web.config$" 
                    match="/configuration/appSettings/add[@key='customer']/@value" />
  </parameter>
  <parameter name="customer" description="web Job queue name"  defaultValue="sitetest">
    <parameterEntry kind="XmlFile"
                    scope="\\app.config$"
                    match="/configuration/appSettings/add[@key='customer']/@value" />
  </parameter>
</parameters>

此文件将根据您提供的默认值在azure中部署时更改appsetting