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