自从升级到 Visual Studio 2013(从 2012 年开始)以来,我注意到在调试我的 ASP.NET MVC 5 应用程序时,我偶尔会通过 IIS Express 获得编译器错误转储:
说明:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。
编译器错误消息:CS0042:创建调试信息文件 'c:\Users\Jeff\AppData\Local\Temp\Temporary ASP.NET Files\root\368a9040\83fb9039\App_global.asax.PDB' -- 'c:\ Users\Jeff\AppData\Local\Temp\Temporary ASP.NET Files\root\368a9040\83fb9039\App_global.asax.pdb:该进程无法访问该文件,因为它正被另一个进程使用。
源错误:
[没有相关的源代码行]
源文件:行:0
如果我打开 Process Explorer 然后搜索 App_global.asax.pdb 的句柄(DevEnv.exe 具有)并强制关闭它然后刷新页面,此错误就会消失。但是,这很不方便,我在 2013 年之前从未这样做过。
任何人都知道为什么这种情况会在 2013 年间歇性发生,但之前没有?
我能想到的唯一可能的事情是我使用的Razor Generator的 MSBuild 步骤存在一些晦涩的问题,但我不明白为什么它会出现在 App_Global.asax 而不是视图上(即使那样,它也应该'不要为未修改的视图编译)