Msbuild 如果appSettings条目参数化,则Web.config的预期内容是什么?

Msbuild 如果appSettings条目参数化,则Web.config的预期内容是什么?,msbuild,msdeploy,Msbuild,Msdeploy,我正在尝试参数化Web.config中的appSettings条目。因为这是一个相当长的构建过程的一部分,所以我想在我们的CI服务器上尝试之前验证我的参数化是否有效(即,反复试验不是一个好主意) 因此,如果使用/T:Package运行MSBuild来创建我的包,我希望创建的.zip文件将包含一个标记了appSetting条目的Web.config,就像标记了连接字符串一样 但是,到目前为止,我没有得到我预期的结果。我的假设错了吗? 是否可能在实际部署步骤中首先进行标记化/替换 下面是标记化的we

我正在尝试参数化Web.config中的appSettings条目。因为这是一个相当长的构建过程的一部分,所以我想在我们的CI服务器上尝试之前验证我的参数化是否有效(即,反复试验不是一个好主意)

因此,如果使用
/T:Package
运行MSBuild来创建我的包,我希望创建的.zip文件将包含一个标记了appSetting条目的Web.config,就像标记了连接字符串一样

但是,到目前为止,我没有得到我预期的结果。我的假设错了吗? 是否可能在实际部署步骤中首先进行标记化/替换

下面是标记化的web.config。请注意,我的应用程序设置没有标记化:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <lots of stuff here...>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="$(ReplacableToken_DefaultConnection-Web.config Connection String_0)" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="mySetting" value="monkey"/> <!-- Shouldn't monkey this be tokenized? -->
  </appSettings>
  <rest of web config here ...>

在web发布MSBuild目标中处理con字符串标记化。它不是Web部署本身的一部分。在您的场景中,我希望包已创建,应用程序设置未修改

创建包时,有两种方法可以查看参数:

  • 使用msdeploy.exe并传递GetParameters-

  • 您可以打开.zip文件并查看其中的参数文件