我们有一个Web应用程序项目(不是网站),直到我们向web.config添加batch =“false”的那一天,Web开发服务器正在编译所有Web应用程序而不是所请求的页面。
<compilation debug="true" batch="false">
<assemblies>
...
</assemblies>
</compilation>
这使我们更快。但是我不知道发生了什么变化(我从存储库检查了foo.cproj和web.config,比较了旧版本,但发现没有什么可以导致这种缓慢)。
我查看了%temp%/ Temporary ASP.NET Files;在我编译我的Web应用程序(不重新编译,Shift + f6)之后,我请求一个页面,我看到Web服务器从%temp%/ Temporary ASP.NET Files中删除所有已编译的文件并重新创建。我不知道这是否正常,但在我看来,所有网络应用程序的完整重新编译,这是非常缓慢的。 (我通过进程资源管理器查看了几次调用csc.exe的wevdev.wevserver.exe)
如何更快地进行编译?感谢...
答案 0 :(得分:1)
ASP.NET Development Server有一个名为“Enable Edit and Continue”的选项,可用于32位版本的.NET CLR。在Visual Studio中关闭它。
另外,尝试在“x86”的构建中更改“Any CPU”的构建。这应该使编译更快。
答案 1 :(得分:1)
我认为这是使用Web应用程序项目的一部分。每次构建应用程序时,都会重新编译整个站点。您应该看到,与“网站”不同,Web应用程序都会编译为单个dll(加上引用)。
您需要注意的另一件事是,在您删除根网络应用程序文件夹下的文件/文件夹时,它也会强制重新编译,这对于临时文件的对接可能是一个真正的痛苦。
一旦你完成了第一次编译,就没有额外的等待在未访问的页面上编译时间。