Подтвердить что ты не робот

Работа с двумя экземплярами Visual Studio 2015: ошибка CS2012 "файл используется другим процессом"

С 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.'

Есть ли способ настроить эту ошибку как "неблокируемую" для visual studio 2015 ИЛИ вернуться к поведению vs2013?

ИЗМЕНИТЬ

Проводник процесса показывает, что это происходит при запуске клиентского приложения:

  • В VS2013:

Ручки на VS2013

  • На VS2015:

Ручки на VS2015

== > мы можем показать здесь еще 2 дескриптора на dll в папке "obj". Это, кажется, проблема.

4b9b3361

Ответ 1

От VS настройте новый тип buid для проекта, это нужно настроить так же, как режим Debug. Затем запустите один из них в "Debug", а другой - в "Debug 2".

Я надеюсь, что этот справочник поможет вам.

Перейти в меню Отладка и выбрать Config Manager

Создать новую конфигурацию сборки

Назовите его как хотите

Ответ 2

Чтобы иметь общий проект в двух решениях, это просто неправильно. Если он работал в VS2013, я бы счел его ошибкой, которая, согласно вам, была исправлена ​​в VS2015.

Правильный путь вперед - либо объединить два решения в один с разными проектами, либо изолировать общий проект в отдельное решение, чтобы помочь VS2015 различать три части:

  • серверная часть
  • клиентская часть
  • общая часть