Я продолжаю получать эту ошибку во время сборки моего проекта VS2012 C #
Error 41 Could not copy "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe".
Exceeded retry count of 10. Failed.
Error 42 Unable to copy file "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe". The process cannot access the file
'bin\Debug\WeinGartner.WeinCad.exe' because it is being used by another
process.
Теперь я понял, что убивает процесс
Weingartner.WeinCad.vhost.exe
работает (иногда) но это действует мне на нервы. Есть ли способ остановить это вообще?
Мои настройки отладчика
c#
visual-studio-2012
build
process
bradgonesurfing
источник
источник
Ответы:
Я встречал похожие сообщения об ошибках в Visual Studio 2013.
В основном я обнаружил, что такая ситуация возникла, когда процесс отладки был остановлен из-за исключения.
Когда clean + build не решил эту проблему для меня, я добился успеха, выполнив следующие действия:
bin
иobj
папки, иЭта «ошибка» существует со времен Visual Studio 2003.
Наконец, я также обнаружил, что часто могу решить эту проблему, просто переименовав исполняемый файл и затем удалив его.
источник
В Visual Studio Premium 2013 (обновление 3) я решил эту проблему с помощью предварительной сборки одной строки:
Это изящно удаляет все старые файлы PDB (если это возможно), а затем переименовывает все, что осталось с
.old.pdb
расширением. Приятным побочным эффектом является то, что если старая PDB все еще заблокирована, она просто добавляет еще один элемент .old к имени файла, и все они очищаются при следующем перезапуске Visual Studio и выполнении сборки.Например, сеанс сборки / отладки 1 остается
MyProject.pdb
заблокированным.В следующий раз вы построите:
MyProject.pdb
->MyProject.old.pdb
Затем запускается сеанс сборки / отладки 2, и оба так
MyProject.pdb
иMyProject.old.pdb
остаются заблокированными:MyProject.old.pdb
->MyProject.old.old.pdb
MyProject.pdb
->MyProject.old.pdb
Наконец, перезапуск Visual Studio и создание новой сборки избавят от обоих этих факторов и продолжат процесс как обычно.
источник
Это потому, что вы закрыли свое приложение, но оно все еще работает в фоновом режиме.
Временное решение:
Постоянное решение: вы должны закрыть приложение через кодирование. Вот код ...
Вы должны поместить этот код в событие закрытия формы во всей форме. Пример:
источник
.vhost.exe - это процесс отладчика, поэтому кажется, что отлаживаемый процесс не закрылся должным образом. Скорее всего, у вас есть ошибка, которая поддерживает ее и неправильно останавливает процесс отладки - есть варианты отсоединения от процесса, когда вы нажимаете «остановить отладку» вместо того, чтобы фактически убить отладчик, так что, возможно, у вас есть этот набор.
Но это проблема - файл, который вы пытаетесь скопировать, заблокирован (то есть все еще используется) операционной системой, поэтому он предотвращает копирование. Убедитесь, что файл бесплатный, и вы сможете копировать.
источник
Visual Studio 2019
, я получаю похожее сообщение, хотя теперь он упоминает процесс в некоторых выходных данных (не во всех). Это был testhost.x86.exe, через который мне пришлось убитьTask Manager
. После этого он, похоже, перестал обнаруживать один из процессов тестирования.Я решил это, убив IISExpress в диспетчере задач
источник
Вы должны отключить антивирус (особенно, если это Avast) и повторить попытку. Это помогло мне. Проблема заключается в том, что отладчик / сборщик создает файл .exe, который определен Avast как угроза, и поэтому удаляется непосредственно перед его выполнением VS.
источник
Я смог исправить эту проблему (VS 2010), предоставив следующие действия перед сборкой;
источник
Quote:
Фрагмент кода
источник
исключение
В некоторых случаях в Visual Studio, когда вы (Build || Rebuild) поверх запуска IISExpress, вы сталкивались с этим исключением:
Решение
Вы хороши 2 GO!
источник
Похоже, что при изменении имени сборки проект решает проблему.
Так что вместо этого
Я изменил это на это
Обратите внимание, что я просто изменил его с
Increment and Recall
наIncrement_Recall
, я просто удалил пробелы. Теперь он работает нормально для меня.источник
Завершение процесса w3wp.exe (IIS) часто решает эту проблему.
Как правило, вы можете узнать процесс, который заблокировал файл, перейдя в папку bin и попытавшись удалить ее. Сообщение об ошибке, которое появится, если другой процесс использует его, будет содержать имя процесса, который необходимо уничтожить.
источник
Я столкнулся с той же проблемой на VS 2012 Версия 11.0.60610.01 Обновление 3 на Windows 8
Дизайнерских окон не было открыто, и проект представлял собой простое консольное приложение.
Удаление процесса vshost, обращающегося к файлу, не работает большую часть времени, так как процесс не обращается к файлу.
Самый простой обходной путь, который работает и занимает наименьшее количество времени, - это удалить проект из решения, построить другой проект в решении и затем добавить исходный результат.
Это раздражитель и пустая трата времени, но это наименее дорогой из всех других вариантов, которые я знаю.
Надеюсь это поможет...
источник
Я думаю, что решил эту проблему, сняв флажок
Break all processes when one process breaks
в параметрах отладки (первый снимок экрана -> второй вариант).Некоторое время он строился / работал хорошо, так как я снял его.
В моем проекте используются элементы управления MySql NET Connector и DevExpress. Может быть, один из них не выбрасывал связи, привязки и т. Д., Потому что этот флаг активирован.
Отредактировано: определенно это работает! Больше нет «Невозможно скопировать файл» и больше нет ошибок дизайнера форм.
источник
Добавьте в pre-build событие вашего мастер-проекта taskkill / f / fi "pid gt 0" / im "YourProcess.vshost.exe"
источник
Мой вклад в 10 центов.
Я до сих пор иногда сталкиваюсь с этой проблемой в VS 2015 Update 2.
Я обнаружил, что переключение цели компиляции решает проблему.
Попробуйте это: если вы находитесь в DEBUG, переключитесь на RELEASE и соберите, затем вернитесь к DEBUG. Проблема ушла.
Стефано
источник
Выполните следующие шаги
Вышеуказанные шаги исправили ошибку навсегда :)
источник
Если ни один из ответов не работает, попробуйте эту простую проверку. Найдите для любого MSbuild.exe работающего и удерживающего ваш EXE-файл проекта. Убейте MSBuild.exe и вам будет хорошо идти.
источник
Я не могу дать решение, чтобы предотвратить это, но вы можете, по крайней мере, переименовать заблокированный файл (проводник Windows или классическое командное окно), а затем скомпилировать / собрать. Нет необходимости перезагружать или перезагружать VS201x. Имея некоторый опыт, вы можете добавить сценарий предварительной сборки, чтобы удалить старые файлы или переименовать, а затем удалить его в случае блокировки.
источник
Смотрите этот другой ответ . По сути, вы могли бы запускать процессы MSBuild.exe в фоновом режиме, используя файлы ресурсов. Если у вас есть какие-либо задачи до или после сборки, из-за которых MSBuild запускается через командную строку, попробуйте добавить к этой команде флаг «/ nr: false». Но опять же, смотрите предыдущий ответ для более подробной информации.
источник
Я наконец то как это исправить. Почему мы не можем продолжить отладку после первой отладки, потому что первый exe отладки все еще работает. Чтобы после первой отладки вам нужно было перейти в Диспетчер задач -> Вкладка «Процесс» -> [имя вашего проекта exe] и завершить процесс exe.
меня устраивает :)
источник
Ответ @ Джеффа ( https://stackoverflow.com/a/25251766/3739540 ) хорош, но выдает код ошибки 1 при перекомпиляции.
Вот что у меня сработало (2> nul 1> nul на конце + выход 0):
источник
Если вы отлаживаете шаблоны T4 , это происходит постоянно. Мое решение (до того, как MS исправит это) было бы просто убить этот процесс:
Диспетчер задач -> Пользователь -> T4VSHostProcess.exe
Этот процесс запускается только при отладке шаблона T4, а не при его запуске.
источник
Вот сценарий, чтобы определенно избавиться от этой проблемы:
Сценарий должен вызываться из каждого события предварительной сборки проекта VS.
источник
[Работа для меня]
источник
Этот вопрос был первым результатом при поиске следующей ошибки:
при сборке в Visual Studio 2013 (обновление 3).
Решение: удаление «Power Tools» в Visual Studio 2013.
https://connect.microsoft.com/VisualStudio/feedback/details/533411
источник
В моем случае это был бегун Resharper Unit Tests (плюс тесты NUnit, у которых никогда не было такой проблемы с MsTests). Убив процесс, смог перестроить процесс, не перезагружая ОС или VS2013
источник
JetBrains.Resharper.TaskRunner.*
Я не осознавал, что мой отладчик все еще подключен и пытался встроить тот же экземпляр Visual Studio. Когда я остановил отладчик, я смог его собрать.
источник
Убийство процесса (ов) vstest.executionengine.exe решает эту проблему для меня 90% времени. Если это не сработает, то также убивает QTAgent32.exe и затем удаляет папки / bin и / obj для рассматриваемого проекта.
Это самая раздражающая часть моего рабочего дня. :)
источник
Для меня это был антивирус Avast, который не позволял Visual Studio записывать / читать / выполнять файл. Поэтому мне пришлось добавить папку Visual studio 2010/2012 в список исключений антивируса. И сразу после этого баама ... это работает.
источник
Убедитесь, что вы закрыли все экземпляры wcfSvcHost и попробуйте снова. Это сработало для меня!
источник