首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Visual Studio中出现“进程无法访问文件”错误,导致无法运行或重新生成

在Visual Studio中出现“进程无法访问文件”错误,导致无法运行或重新生成
EN

Stack Overflow用户
提问于 2018-12-30 05:13:46
回答 1查看 910关注 0票数 1

我已经尝试了许多关于这类问题的其他答案的建议。

我所有的项目都有这个问题。

与删除或访问项目路径中的EXE文件相关的错误。

代码语言:javascript
复制
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文件来帮助解决这种情况..它只是显示这些文件是否在那里,并尝试删除它们。

代码语言:javascript
复制
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文件并尝试手动尝试删除这些文件时,我得到了其他错误

代码语言:javascript
复制
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           

我也不知道是什么导致了这一切的发生

清理项目通常不会有什么帮助。我可能会得到这样的错误

代码语言:javascript
复制
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           

它可以是一个基本的程序,也可以是一个在main方法中没有任何东西的控制台应用程序。它可以是一个winforms程序。

我可以右键单击配置文件,看到它是只读的,取消勾选,尝试应用到所有子文件夹,然后得到一条拒绝访问的消息

如果我查看在问题发生之前创建的旧项目,我会发现它们也显示为只读。所以我不知道文件夹是否应该是只读的..但不管怎样,我不能将它们从只读状态下删除。

然后我又试了一次,它说找不到那个EXE文件。(也许我设法删除了它,或者VS做到了,我不知道)。但随后我再次尝试将该文件夹设置为非只读,它声称该文件夹已变为非只读。然后我再次转到文件夹的属性,它再次显示为只读!

只读部分似乎不是问题,因为有时候VS会设法重新构建或清理项目,并且当项目文件夹设置为只读时,它仍然会管理项目

我现在只是尝试了几次,并且已经看到当它不工作时,我可以用进程管理器看到它被系统pid-4锁定,所以这对我没有多大帮助,因为它没有告诉我是什么在锁定它。然后我尝试结束任务浏览器。然后它就成功了。然后我再次查看进程资源管理器,它显示它被pid-4锁定,但这一次visual studio能够写入。

我真的不知道该怎么处理这件事!我已经有这个问题好几个月了。我的硬盘现在有点低,好像还剩500MB。但我想我可能在还剩几GB的时候遇到了这个问题。其他程序运行正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-30 08:44:07

很可能是您的某个安全应用程序(例如,Malwarebytes甚至是Windows Defender)锁定了.exe文件,以扫描它们是否存在恶意活动。

避免这种情况的方法是将您的项目目录与应用程序一起列入白名单,特别是您的bin\debug等。

正如您在注释中确认的那样,这是一个带有恶意字节的known issue。在链接的文章中,它说你也需要将vshost.exe列入白名单,但我不知道这是否绝对必要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53973378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档