使用2个Visual Studio 2015实例:错误CS2012"文件正由另一个进程使用"

时间:2015-08-03 16:09:43

标签: c# visual-studio-2015

使用Visual Studio 2013,我曾经打开过2个Visual Studio实例:

  • 一个用于"服务器"解决方案(比如一个WCF主机),
  • 一个用于"客户"解决方案(比如一个WPF应用程序)。

2个解决方案有一个共同的项目,但这不是问题:我可以在调试模式下启动第一个,在调试模式下启动第二个,找到错误,停止修复错误,然后重新启动它(没有停止第二次)。

VS2015不再可能出现这种情况:当我停止修复启动时,我在公共项目上出现了构建错误:

error CS2012: Cannot open 'D:\MyProject\obj\Debug\myCommonLib.dll' for writing -- 
'The process cannot access the file 'D:\MyProject\obj\Debug\myCommonLib.dll' because it is being used by another process.'

有没有办法将此错误配置为"非阻塞" for visual studio 2015还是回到vs2013的行为?

修改

Process explorer在启动客户端应用程序时显示此句柄:

  • 在VS2013上:

Handles on VS2013

  • 在VS2015上:

Handles on VS2015

==>我们可以在" obj"中显示另外2个dll上的句柄。夹。这似乎是个问题。

2 个答案:

答案 0 :(得分:14)

从VS为项目配置新的buid类型,需要将其配置为与Debug模式相同。然后在" Debug"中运行其中一个。另一个在" Debug 2"。

我希望这些图片指南可以帮到你。

Goto Menu Debug and choose Config Manager

Create a new build configuration

Name it as you want

答案 1 :(得分:-8)

在两个解决方案中拥有一个共同的项目是完全错误的。如果它在VS2013中有效,我会认为它是一个bug,根据你已经在VS2015中修复过了。

正确的前进方向是将两个解决方案合并为一个具有不同项目的解决方案,或者将公共项目隔离到一个单独的解决方案中,以帮助VS2015区分这三个部分:

  • 服务器部分
  • 客户端部分
  • 共同部分