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

13
在 ASP.NET 中,使用 Web.config 中的 和 Configuration Manager 中的 Release 模式构建项目有什么区别?
在何时应该使用其中一种而不是另一种?
4个回答


4

ScottGu在他的博客这里很好地介绍了它们之间的区别。

当我需要在Visual Studio内进行调试或尝试追踪特别棘手的错误时,我通常使用此模式。因此,我通常将调试模式设置为false。


1
关于debug="false"的信息很有用,但没有涉及到Release模式。 - Even Mien
1
提到的链接现在已经失效了。 - user1451111
我修复了指向ScottGu文章的损坏链接。 - Carsten Führmann

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

1
发布模式是否会预编译整个应用程序? - Even Mien

0

在“Release”模式下编译时,将使用web.release.config文件,在debug模式下编译时将使用web.debug.config文件(两者都扩展了web.config)。请参阅这里以获取有关这些文件的更多信息。

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

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

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

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

有关捆绑和缩小的更多信息,请参见此处

´debug´的默认值为false,因此默认情况下启用了优化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接