Получение ошибки «Процесс не может получить доступ к файлу» в Visual Studio, препятствующий запуску или перестройке - PullRequest
0 голосов
/ 30 декабря 2018

Я пробовал то, что предлагалось в других ответах на эту проблему.

У меня есть эта проблема со всеми моими проектами.

Ошибки, связанные с удалением или доступом к файлам EXE впуть к проекту.

Severity    Code    Description Project File    Line    Suppression State
Error   CS2012  Cannot open 'c:\users\user\documents\visual studio 2015\Projects\blahtest1\blahtest1\obj\Debug\blahtest1.exe' for writing -- 'Access to the path 'c:\users\user\documents\visual studio 2015\Projects\blahtest1\blahtest1\obj\Debug\blahtest1.exe' is denied.'  blahtest1   c:\users\user\documents\visual studio 2015\Projects\blahtest1\blahtest1\CSC 1   Active

Я написал bat-файл для любого проекта, над которым я работаю, чтобы помочь с ситуацией. Он просто показывает, есть ли эти файлы, и пытается их удалить.

C:\Users\user\Documents\Visual Studio 2015\Projects\blahtest1\blahtest1
>type refreshprog.bat
dir /b ".\bin\Debug\*.exe"

dir /b ".\obj\Debug\*.exe"

del ".\bin\Debug\*.exe"

del ".\obj\Debug\*.exe"
C:\Users\user\Documents\Visual Studio 2015\Projects\blahtest1\blahtest1
>

Иногда я пытаюсь разблокировать эти файлы с помощью такой программы, как IObit Unlocker или Unlocker.Затем удалите их.

Я пытался использовать Process Explorer, чтобы увидеть, что его блокирует, но не повезло.

Через некоторое время внезапно появляется возможность удалить их.

Даже если это удастся, я все равно смогу получить ошибку, упомянутую выше.

Другие ошибки, которые я получаю, где я тогда пробую свой bat-файл и пытаюсь вручную попытаться удалить файлы

Severity    Code    Description Project File    Line    Suppression State
Error       Unable to copy file "obj\Debug\blahtest1.exe" to "bin\Debug\blahtest1.exe". The process cannot access the file 'bin\Debug\blahtest1.exe' because it is being used by another process.   blahtest1           
Error       Could not copy "obj\Debug\blahtest1.exe" to "bin\Debug\blahtest1.exe". Exceeded retry count of 10. Failed.  blahtest1           

Я не знаю, что это вызвало, что это также произошло

Очистка проекта часто не поможет.Я могу получить ошибку вроде этой

Severity    Code    Description Project File    Line    Suppression State
Error       Unable to delete file "c:\users\user\documents\visual studio 2015\Projects\blahtest1\blahtest1\bin\Debug\chromedriver.exe". Access to the path 'c:\users\user\documents\visual studio 2015\Projects\blahtest1\blahtest1\bin\Debug\chromedriver.exe' is denied.  blahtest1           

Это может быть программа barebone, это может быть консольное приложение без метода main.Это может быть программа winforms.

Я могу щелкнуть правой кнопкой мыши профиль, увидеть, что он доступен только для чтения, снять галочку, попробовать применить ко всем подпапкам, затем получить сообщение об отказе в доступе

enter image description here

Если я посмотрю на старые проекты, созданные до возникновения проблемы, я вижу, что они также отображаются только для чтения.Так что я не знаю, предназначены ли папки только для чтения ... Но независимо от того, я не могу снять их только для чтения.

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

Часть только для чтения, похоже, не является проблемой, поскольку бывают случаи, когда VS удается перестроить или очиститьпроект, и он все еще управляет им, когда папка проекта установлена ​​только для чтения

Я только что попробовал это несколько раз сейчас и увидел, что когда он не работает, я вижу, что с помощью Process Explorer он заблокированпо системе pid-4, так что это не сильно мне помогает, так как не говорит мне, что его блокирует.Я тогда попробую завершить работу исследователя задач.Тогда это сработало.Затем я снова проверил с помощью Process Explorer, и он показывает, что он заблокирован pid-4, но на этот раз Visual Studio умеет писать.

Я действительно не знаю, как справиться с этим!У меня была проблема в течение нескольких месяцев.Мой жесткий диск сейчас немного низок, как будто осталось 500 МБ. Но я думаю, что у меня, вероятно, была эта проблема, когда осталось несколько ГБ.И другие программы работают нормально.

enter image description here

1 Ответ

0 голосов
/ 30 декабря 2018

Вероятно, что одно из ваших приложений безопасности (например, Malwarebytes или даже Защитник Windows) блокирует файлы .exe для проверки их на наличие вредоносных действий.

Чтобы избежать этого, необходимо внести белый список в ваш проект.каталоги с приложением, и в частности ваши bin\debug и т. д.

Как вы подтвердили в комментариях, это известная проблема с вредоносными байтами.В связанной статье говорится, что вам также нужен белый список vshost.exe, но я не знаю, что это абсолютно необходимо.

...