配置Web.config以在调试模式下使用不同的连接字符串

kie*_*wic 0 asp.net-mvc web.config-transform

我之前从未使用过转换.我试图在我的ASP.NET MVC 5项目中使用两个不同的连接字符串.

以下是我的Web.config文件的摘要:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!-- more -->

  <connectionStrings>
    <add name="ChopsticksDBContext" providerName="System.Data.SqlClient" connectionString="Data Source=tcp:s10.winhost.com;Initial Catalog=DB_XXX31_kieXXX;User ID=DB_XXX31_kieXXX_user;Password=XXXX;Integrated Security=False;" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我在Web.Debug.config文件中添加了以下标记:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <!-- more -->

  <connectionStrings>
    <add name="ChopsticksDBContext"
      providerName="System.Data.SqlClient"
      connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-KiewicWebsite-20131214161254;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-KiewicWebsite-20131214161254.mdf"
      xdt:Transform="Replace" xdt:Locator="Match(name)"/>
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我在调试模式下运行我的项目,我仍然获得连接字符串的原始值.

知道什么可能是错的吗?

Eri*_*oom 6

问题是在调试模式下运行应用程序时不会应用转换.转换仅在您发布网站时应用.您可以使用Debug配置执行发布来验证这一点.已发布的站点将应用转换,在您的情况下意味着已替换连接字符串.