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

Visual studio Visual Studio的发布管理-删除Web.Config密钥,visual-studio,tfs,msbuild,release-management,ms-release-management,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="Matc

在Visual Studio 2013版本管理的生成过程中,建议使用什么方法从web.config中删除密钥

使用web.config转换,或者为web.config中的整行添加令牌(而不是使用令牌作为值)

Web.config转换:

  <connectionStrings>
    <add name="myConnectionString" connectionString=""
      xdt:Transform="Remove" xdt:Locator="Match(name)"/>
  </connectionStrings>
我不确定推荐的方法是什么,但我建议在构建期间修改Web.config的方法是使用。因此,在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>


. 请注意,我将转换与/p:UseWPP\u CopyWebApplication=true/p:PipelineDependsOnBuild=falseMSBuild参数结合使用。

您应该对希望在生成时发生的事情使用转换。就像删除任何只在开发中使用的位一样


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

这并不能回答问题。
<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>