ASP.NET Web 应用程序强制重建每个后端或代码文件,使调试耗时且无法使用

ASP.NET Web Application forces rebuild on every back-end or code-file, making debugging time consuming and unusable

我总是更喜欢使用 ASP.NET 网站而不是 ASP.NET Web 应用程序,定义如下:ASP.NET Web Site or ASP.NET Web Application?

如果确实需要,建议只使用'ASP.NET Web Site' 个项目(Whosebug 的标签是这样说的);我很想远离这种类型的项目,但是需要有效地调试而不是浪费时间不断地为琐碎的更改重新编译项目让我后悔每次都选择后者。

这有两个关键原因。

  1. 每当您对后端文件或代码文件进行更改时,您都必须在更改可用之前重建项目。使用 'ASP.NET Web Site',后端文件将立即可用,并且 'App_Code' 目录中的代码文件将触发自动后台重建,使更改在下一个请求中可用,无需开发人员输入。
  2. 由于这种持续的重建要求,如果没有 stopping/starting 调试器,您无法在调试时进行更改(除非您通过一些调整执行附加到进程)。这非常令人沮丧,尤其是当项目达到一定规模时,编译时间使得这完全不切实际。不仅你失去了所有的调试状态,加载到内存中的对象也被清除了,等等

我很确定我遗漏了一些东西,好像 Web 应用程序是大多数人首选的项目类型,怎么会有这样的限制?是否有针对此问题的解决方案或关于如何在调试时执行一系列小更改而不停止调试器然后每次手动执行重建的建议?有没有办法防止后端文件需要重建整个站点? (我想这就是为什么 'ASP.NET Web Site' 每个文件或目录都有一个 dll)

这不是限制,它只是在没有即时编译网站模板的情况下如何工作。

您可以使用 Edit and continue feature of Visual Studio, but not every type of change is supported.