编译debug =“false”和Release模式有什么区别?

时间:2009-06-02 13:42:47

标签: asp.net build debugging release

在ASP.NET中,在Web.config中构建项目与在Configuration Manager中使用Release模式之间有什么区别?

你什么时候使用一个而不是另一个?

4 个答案:

答案 0 :(得分:4)

ScottGu在博客上对差异here做了很好的准备。

当我需要在Visual Studio内部进行调试或者我正在尝试追踪一个特别讨厌的错误时,我通常会使用此模式。所以我通常使用调试模式运行设置为false。

答案 1 :(得分:4)

答案 2 :(得分:1)

根据您设置Web应用程序的方式(Web站点模型与Web应用程序模型),您可能会将未编译的源代码直接部署到Web服务器。在这种情况下,ASP.Net运行时需要知道在请求开始进入时如何编译代码。

答案 3 :(得分:0)

在“Release”模式下编译时,将使用web.release.config文件,在调试模式下编译时,将使用web.debug.config文件(两者都扩展web.config)。有关这些文件的详细信息,请参阅here

这些文件可能包含以下部分:

<system.web>
    <compilation debug="true" />
    <!-- Lines removed for clarity. -->
</system.web>

在ASP.NET中,此设置控制是否进行捆绑或缩小以优化页面加载时间。

  • 捆绑意味着:将多个文件合并或捆绑到一个文件中 (减少页面请求的数量)。
  • 缩小意味着:删除不必要的空格和注释,并将变量名称缩短为 一个角色。

有关捆绑和缩小的详细信息,请参阅here

'debug'的默认值为false,因此默认情况下启用optimatzions。