我知道有几个问题在问同样的问题“为什么我应该使用 Release模式”。我对答案的问题是,他们只是非常强烈地声明,当网站处于生产状态时,您应该始终使用 Release模式。
为什么?
我知道代码在程序集中进行了优化,但优化到什么程度?它会优化编写良好的代码吗?它执行什么样的优化?
有没有这方面的分析?无论如何我可以测试调试和发布之间的差异吗?
我真的希望有人至少能提供一些明确的阅读 Material 的引用,因为我还没有找到足够难的东西来满足我对这个问题的好奇心。
最佳答案
首先阅读: http://blogs.msdn.com/tess/archive/2006/04/13/575364.aspx ,我刚刚发现它是回答这个问题的一部分,这是一篇很棒的文章。
请参阅此问题:At what level C# compiler or JIT optimize the application code? 以了解有关一般编译器优化的一些信息。
另外,请记住,对于更改为 Release模式的 Asp.Net Web 应用程序,将在 Release模式下编译程序集,但对于页面编译,您可能还需要编辑 web.config 中编译元素的调试属性。
<compilation defaultLanguage="c#" debug="true">
Web 应用程序在设置 debug=true 时会做一些奇怪的事情,例如,它们不接受请求超时,因为它会干扰调试。
这是 Gu 关于这个主题的一篇很棒的文章:Don’t run production ASP.NET Applications with debug=”true” enabled
关于asp.net - ASP.Net Release模式的真正好处是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1711642/