web.config调试/释放无法正常工作

时间:2012-05-24 17:18:22

标签: asp.net-mvc debugging web-config release

在我的web.config

<connectionStrings>

    <add name="Context" connectionString="Server=tcp:database.windows.net,1433;Database=DbDev;User ID=xxxx;Password=xxxx.;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True"
    providerName="System.Data.SqlClient" />
<connectionStrings/>

我的web.Debug.config

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

    <connectionStrings>

      <add name="Context" connectionString="Server=tcp:database.windows.net;Database=DbDev;
      User ID=xxxx;Password=xxxx.;
      Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True"
    providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
    </connectionStrings>

  <system.web>

      <customErrors mode="Off" xdt:Transform="Replace">

      </customErrors>

    </system.web>
</configuration>

在我的web.Release.config

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

    <connectionStrings>

      <add name="Context" connectionString="Server=tcp:database.windows.net;
           Database=DbProd;User ID=xxxx;Password=xxxx.;
           Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True"
            providerName="System.Data.SqlClient" 
            xdt:Transform="Replace" xdt:Locator="Match(name)" />
    </connectionStrings>

    <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />

      <customErrors defaultRedirect="GenericError.htm" mode="On" xdt:Transform="Replace">
        <error statusCode="500" redirect="InternalError.htm"/>
      </customErrors>

    </system.web>
</configuration>

它只是没有获得生产数据库DbProd

2 个答案:

答案 0 :(得分:3)

我认为在VS中运行'release'模式时,它会转换web.release.config文件,但由于某些原因(cache?bin?)它不会使用它。但是,当我发布它时在Azure环境中,它将正确获取配置

答案 1 :(得分:1)

xdt:Locator="Match(name)"表示如果name属性值匹配,则会应用转换后的值。

在web.config中你有

<add name="Context"

但是在web.release.config

<add name="PoqContext" 

将连接字符串名称更改为相同的值应该会对您有所帮助。另外,请查看Web.config Transformation Syntax 了解其他可用选项