VisualStudio2010, Отлаживающий - процесс не может получить доступ к файлу …, потому что он используется другим процессом

Я не могу отладить приложение WinForms C# с помощью выпущенной версии Visual Studio 2010 Профессор.

Я получаю следующее сообщение об ошибке после второй выполненной отладки.

Ошибка 9 Неспособных для копирования файла "obj\x86\Debug\Arrowgrass Reports.exe" в "bin\Debug\Arrowgrass Reports.exe". Процесс не может получить доступ к файлу 'bin\Debug\Arrowgrass Reports.exe', потому что он используется другим процессом.

Я попробовал сценарий перед сборкой, чтобы попытаться удалить этот файл, но он заблокирован Visual Studio.

Существует несколько ссылок на это в сети, таким образом, это - знать проблема. У кого-либо есть текущие исправления или эффективное обходное решение?

49
задан Ciro Santilli 新疆改造中心法轮功六四事件 20 August 2013 в 20:49
поделиться

2 ответа

Я обнаружил, что эту проблему очень легко воспроизвести, и исправление для меня представляет собой вариант ответа Ричарда Форса. Если в конструкторе открыт UserControl, запустите отладчик, а затем отредактируйте UserControl, последующая перестройка не удастся. Если я закрою UserControl перед запуском отладчика, я никогда не получу эту ошибку, поэтому я просто обязательно закрываю окно дизайнера, прежде чем нажимать F5.

29
ответ дан 7 November 2019 в 11:41
поделиться

Вы можете попробовать убить процесс vshost.exe:

taskkill /F /IM "Arrowgrass Reports.vshosts.exe"

Вам также может повезти, и вы сможете просто переместить данный файл. Переместить файл можно, добавив следующие строки кода к событию предварительной сборки вашего проекта:

if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked" 
21
ответ дан 7 November 2019 в 11:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: