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

How to change app settings of Web.Config using targets.wpp

提问人:Karthikeyan VK 提问时间:6/3/2015 最后编辑:Karthikeyan VK 更新时间:1/2/2019 访问量:1436

问:

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

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

需要在部署期间将客户值更新为“client”,并且 web.config 文件应反映已部署文件夹中的更改,如下所示

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

我已经在msDeploy中使用ProjectParametersXMLFile实现了

msbuild Api.csproj    /p:ProjectParametersXMLFile="c:\parameter.xml"/p:PublishSettingsFile=%publishFileLocation% 
C# Azure Web 配置 MSBuild WPP

评论


答:

2赞 user5761543 1/8/2016 #1

您可以使用参数 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 中部署时,此文件将根据提供的默认值更改 AppSettings