2012-01-11 89 views
3

我在今天的VS2010中遇到了一些非常不寻常的事情,这在过去没有做过。Visual Studio 2010持有文件句柄

我有一个解决方案,里面有8个项目。其中之一是包含大部分代码的中央DLL项目。

当我打开VS并打开解决方案时,我可以按F6构建,并且所有事情都按预期发生。如果我对某条线条进行了评论并再次按F6构建,则会出现错误。它不能将DLL从obj \ Debug文件夹复制到主输出文件夹,因为它正在被另一个进程使用。如果我关闭IDE并重新启动它,我可以毫无问题地重建解决方案,但只能重建一次。关闭解决方案并重新打开它(无需重新启动整个IDE)不会有帮助。

当我在Process Explorer中搜索DLL的句柄时,它是VS2010本身!

基本上,我必须重新启动我的整个IDE每次我想要建立我的解决方案,这显然是完全不切实际的。

VS2010从来没有和我一起做过这件事。任何想法可能是什么,我可以尝试什么?

+0

暂时禁用已安装的任何扩展程序可能是值得的,看看是否有任何区别。 – 2012-01-11 00:38:35

回答

2

曾经发生过,我通过删除所有对特定项目的引用然后重新添加它们来解决它。因人而异。

+0

谢谢,这已经解决了问题 - 现在。我删除了对中央DLL的引用,保存,重新启动,重建(当然失败),重新添加引用并重建。现在我可以更改代码并重建,而无需重新启动IDE。顺便说一句,我做了一些研究,这个问题显然已经出现在VS2003之后,即使在VS2010SP1中也没有被修复! – Ozzah 2012-01-11 00:50:40

+0

我在VS 2012 Update 4中遇到过同样的问题,并且修复工作也是如此。 – 2014-09-22 13:12:54