Visual Studio 2013持有App_global.asax.PDB文件?

时间:2013-11-11 21:46:44

标签: asp.net-mvc visual-studio-2013 razorgenerator

自从升级到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而不是视图上(即便如此,它也不应该为未经修改的视图进行编译)

2 个答案:

答案 0 :(得分:30)

升级到VS2013之后,我们在我们开发的大型webforms应用程序上遇到了这个问题。我们解决了它是删除optimizeCompilations =" true"来自Web.Config文件中的编译元素的属性。

我也尝试过VS2013 Update 1和VS2013 Update 2 RC,但他们都没有解决这个问题。

答案 1 :(得分:0)

我不确定我们的问题是否相同,但我通过禁用“编辑并继续”解决了我的问题。

工具 - >选项 - >调试 - >编辑并继续 - >取消选中"启用编辑并继续" 。