2014-01-21 33 views
0

我从来没有使用过转换。我尝试使用两个不同的连接字符串与我的ASP.NET MVC 5项目。配置Web.config以在调试模式下使用不同的连接字符串

这里是我的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> 

我添加了以下标签进入我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> 

我跑我的,项目在调试模式,我仍然获得连接字符串的原始值。

任何想法可能是错误的?

回答

6

的问题是,运行在调试模式下应用程序时,转换没有被应用。转换仅适用于您发布网站的情况。您可以通过使用调试配置进行发布来验证。已发布的网站将应用该转换,这意味着连接字符串已被替换。

+1

由于我通常会发布Release配置,因此将转换移至Web.Release.config更有意义。谢谢。 – kiewic

4

转换仅在您发布项目时才起作用。 (使用Visual Studio中的“发布”功能)。

当你在本地运行你的应用程序,它会使用ConnectionString在web.config

相关问题