Asp.net 为什么每次我在VS2008中构建webapp时,IIS开发服务器都会重新编译我的所有web应用程序?

Asp.net 为什么每次我在VS2008中构建webapp时,IIS开发服务器都会重新编译我的所有web应用程序?,asp.net,compiler-construction,web-development-server,Asp.net,Compiler Construction,Web Development Server,我们有一个web应用程序项目(不是网站),直到有一天我们将batch=“false”添加到web.config web development server编译了所有web应用程序,而不是请求的页面 <compilation debug="true" batch="false"> <assemblies> ... </assemblies> </compilation> ... 这使我们更快。但我不知道

我们有一个web应用程序项目(不是网站),直到有一天我们将batch=“false”添加到web.config web development server编译了所有web应用程序,而不是请求的页面

<compilation debug="true" batch="false">
      <assemblies>
        ...
      </assemblies>
</compilation>

...
这使我们更快。但我不知道发生了什么变化(我从存储库中检查了foo.cproj和web.config,比较了旧版本,但没有发现任何东西会导致这种缓慢)

我查看了%temp%/临时ASP.NET文件;编译web应用程序(不是重新编译,shift+f6)后,我请求一个页面,我看到web服务器从%temp%/临时ASP.NET文件中删除所有已编译的文件并重新创建。我不知道这是否正常,但在我看来,这是对所有web应用程序的完全重新编译,速度非常慢。(我通过process explorer查看了wevdev.wevserver.exe,它多次调用csc.exe)


如何加快编译速度?谢谢…

ASP.NET开发服务器有一个名为“启用编辑并继续”的选项,该选项在32位版本的NET CLR中可用。在VisualStudio中关闭该选项


此外,请尝试在“x86”的内部版本中更改“任意CPU”的内部版本。这将加快编译速度。

我相信这是使用Web应用程序项目的一部分。无论何时构建应用程序,都会重新编译整个站点。您应该看到,与“Web站点”不同,Web应用程序全部编译为单个dll(加上引用)

另一件你必须注意的事情是,每当你删除根web app文件夹下的文件/文件夹时,它也会强制重新编译,这对临时文件来说可能是一个真正的麻烦

好的一面是,一旦您完成了第一次编译,就不会在未访问的页面上等待额外的编译时间