Запуск 2 проектов из одного и того же решения параллельно в режиме отладки в Visual Studio

#c# #visual-studio #visual-studio-2010

#c# #visual-studio #visual-studio-2010

Вопрос:

Когда я пытаюсь сделать то, что я описываю, я получаю следующую ошибку :

«Невозможно скопировать файл»objx86ReleaseAlreadyRunning.exe » чтобы «binx86ReleaseAlreadyRunning.exe «. Процесс не может получить доступ к файлу ‘binx86ReleaseAlreadyRunning.exe «потому что он используется другим процессом».

Что имеет смысл. У меня открыто 2 VStudio бок о бок, я запускаю серверное приложение в левом и хочу запустить клиентское приложение в правом. Оба находятся в одном и том же решении, и я хочу отлаживать их одновременно.

Конечно, я мог бы временно отключить или изменить вывод сборки для уже запущенного проекта во втором VS, но мне было интересно, есть ли более разумный способ создать / запустить только один отдельный проект, не беспокоясь об остальных (т.е. Не пытаясь создать серверный проект, который уже запущен другой экземпляр VS).

Комментарии:

1. Являются ли сервер клиент одним и тем же EXE-файлом? Если нет, то по какой причине вы не запускаете оба (сервер клиент) из одного и того же экземпляра VS?

2. К каким типам приложений относятся эти два?

3. @Yahia: Как сказано ниже, я просто не знал об этой возможности, извините. Никогда не натыкался на это до сегодняшнего дня. Не думал, что это возможно

4. @Yahia: Плюс я хочу запустить серверное приложение перед клиентским приложением. Если я использую оба варианта одного и того же типа, у меня могут возникнуть проблемы с синхронизацией

5. Вы можете запускать их в любом порядке, который пожелаете, вручную запустив проект (щелкните правой кнопкой мыши) и отладка-> Новый экземпляр (извините, если это не соответствует, на этом компьютере нет VS)…

Ответ №1:

VS позволяет отлаживать несколько проектов параллельно… вы можете начать с любого проекта, который вы хотите (в вашем случае сервер), и когда вы будете готовы, просто перейдите к проекту (в случае youtr клиент), щелкните правой кнопкой мыши, Debug-> New Instance…

Согласно комментариям выше:

Если это слишком запутанно (из-за того, что оба класса используются несколькими), вы всегда можете запустить второй экземпляр VS и ПОСЛЕ запуска клиента (не через VS, а вручную) подключить к нему отладчик второго экземпляра VS

Ответ №2:

Если вы отлаживаете два разных проекта, вы можете выполнить их оба через Свойства решения -> Начальный проект и выбрать несколько.

Если это один и тот же проект, вы можете запустить один экземпляр через Visual Studio, а другой вручную (чтобы вам не приходилось создавать дважды) и вручную подключить отладчик ко второму экземпляру через Debug -> Attach to process

Комментарии:

1. Неплохо… Не знал о опции множественного запуска проекта. В VS всегда можно найти что-то новое, даже после 10 лет его использования. При использовании 1-го варианта оба проекта будут запускаться одновременно, но в моем случае мне нужно, чтобы сервер был сначала подключен к локальной сети, поэтому я предполагаю, что он может работать неправильно. Для 2-го варианта, я предполагаю, что «вручную» будет означать запуск exe-файла в папке debug / release и подключение отладчика к результирующему процессу, верно?

2. Да, вручную означает запуск его из папки debug / release.