关于调试模式的MVC Web.Debug.Config问题

时间:2011-05-15 20:31:44

标签: asp.net asp.net-mvc-2 web-config

这可能是一个快速的问题。我是解决方案配置和web.config xml文件转换的新手。我想添加一个转换,将Asp.Net Mvc网站的编译元素的debug属性设置为true:

Web.Debug.config:

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

的Web.config:

<compilation targetFramework="4.0">
  <assemblies>
         ...
  </assemblies>
</compilation>

但是当我按F5时,Visual Studio中会弹出一个窗口,说“该页面无法在调试模式下运行,因为web.config文件中未启用调试。”然后,它为我提供了更改Web.config文件的选项。但我认为Web.Debug.config文件的目的是允许自动设置...在按F5后,我可以让Visual Studio使用转换后的Web.config文件吗?

非常感谢提前!

安德鲁

4 个答案:

答案 0 :(得分:9)

好的,我决定改用以下设置:

的Web.config:

<configuration>
    ...
  <system.web>    
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
          ...
      </assemblies>
    </compilation>
  </system.web>
    ...
</configuration>

Web.Release.config:

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

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

</configuration>

当构建部署配置设置为“release”时,这会导致编译调试属性被“false”覆盖。

答案 1 :(得分:4)

根据我的经验,使用F5或Visual Studio调试器时不会发生转换。它只在您发布网站后进行转换。

答案 2 :(得分:3)

试试这个

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

答案 3 :(得分:2)

在Visual Studio 2013中,如果您只有web.config文件,则可以右键单击它并选择“添加配置转换”。默认情况下,它包含

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

删除debug =“true”。