Visual Studio的发布管理 - 删除Web.Config密钥

时间:2015-06-15 17:29:13

标签: visual-studio tfs msbuild release-management ms-release-management

在Visual Studio 2013的发布管理的构建过程中,从web.config中删除密钥的推荐方法是什么?

使用web.config转换,或者为web.config中的整行添加一个标记(而不是使用标记作为值)?

Web.config转换:

  <connectionStrings>
    <add name="myConnectionString" connectionString=""
      xdt:Transform="Remove" xdt:Locator="Match(name)"/>
  </connectionStrings>

令牌替换:

__myConnectionString__

2 个答案:

答案 0 :(得分:1)

您应该对构建时想要发生的事情使用转换。就像删除你只在开发中使用的任何位一样。

我通常使用硬编码的本地值,然后在转换期间使用版本管理键替换它们。然后RM可以拥有其余的。

答案 1 :(得分:0)

我不确定 推荐的方法,但我建议在构建期间更改Web.config的方法是使用Web.config transform。所以,在Web.Release.config中(不要忘记,如果你正在进行连续交付,你的构建可能会一直存在,所以你需要构建为发布版)你可能会有类似这样的连接字符串:

<connectionStrings>
<add name="My ConnectionString"
     connectionString="Data Source=__DATA_SOURCE__;Initial Catalog=__INITIAL_CATALOG__;Integrated Security=SSPI;"providerName="System.Data.SqlClient"
     xdt:Transform="SetAttributes"xdt:Locator="Match(name)"/>
</connectionStrings>

这会在构建之后在Web.config中生成连接字符串的标记化版本,因此如果您想要不同的东西,例如完全删除它们,显然请使用Remove transform。您可以在我的博文here中更多地了解这一点。请注意,我正在将变换与 / p:UseWPP_CopyWebApplication = true / p:PipelineDependsOnBuild = false MSBuild参数结合使用。