Web.config从Web.Release.Config中删除ConnectionStrings节点

时间:2013-04-09 15:39:55

标签: visual-studio xslt web-config

我在我的Web.config中有这个,所以我的服务将在本地运行:

  <connectionStrings>

    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=IPADD;Initial Catalog=DB;Persist Security Info=True;User ID=UN;Password=PW" />
  </connectionStrings>

我需要这个,因为Web.Debug.Config不起作用。因此,当我发布时,我想删除此字符串,因为它实际上是从父Web.config继承的

  <connectionStrings>
    <remove name="DefaultConnection"/>

  </connectionStrings>

这似乎不起作用......(它会引发The entry 'DefaultConnection' has already been added.错误)

如何删除它? XSLT?

P.S。我无法使用clear/因为它将Machine.Config数据库连接字符串移除到成员资格提供程序也会引发不同的错误

1 个答案:

答案 0 :(得分:6)

下面的代码:

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

但是当你从visual studio发布时要小心。当您查看输出视图时。它应该写给你:

Transformed Web.config using Web.Release.config into obj\Debug\TransformWebConfig\transformed\Web.config.
Copying all files to temporary location below for package/publish:

但如果你有“调试”,那么你将Web.Debug.config代替Web.Release.config