我一直在研究如何加快ASP.NET项目的调试过程,并看到一些SO海报谈论将optimizeCompliations
设置为true。我尝试了它似乎确实使得启动速度更快(看似),但这究竟是做什么以及如何更快地运行我的项目?什么"优化"正在完成编译过程吗?
答案 0 :(得分:2)
我相信它清楚地解释了这是什么:
ASP.NET使用每个应用程序哈希代码,其中包括许多内容的状态,包括bin和App_Code文件夹以及global.asax。每当ASP.NET应用程序域启动时,它都会检查此哈希代码是否已从之前计算的更改。如果有,则整个codegen文件夹(编译和阴影复制的程序集处于活动状态)被清除。
当打开此优化(via)时,哈希不再考虑bin,App_Code和global.asax。因此,如果这些更改我们不会消除codegen文件夹。
当然,如果App_Code或global.asax已更改,则会重建它们。但是之前编译过的页面没有(除非它们自己已经改变)。
请注意,此优化不会影响应用域关闭行为。即,任何顶级文件更改后我们仍会关闭域名。这只是受影响的新域中的编译量。