尝试构建VS2010控制台应用程序时出现访问被拒绝错误(无法写入输出文件)

4

在Windows7x64上运行的VS2010

我正在尝试构建一个VS2010控制台应用程序,但偶尔会出现以下错误:

Could not write to output file 
'D:\somepath\someProjectName\obj\Debug\ProjectName.exe' -- 'Access is denied. ' 

使用Sysinternals ProcessExplorer,我可以看到该文件的句柄,但是当我单击它时,没有显示任何应用程序持有它,当我尝试关闭句柄时,在ProcessExplorer中会出现“打开进程错误:句柄无效。”的错误。
如果我在Windows资源管理器中打开该文件夹,我可以物理上删除该文件(看起来是这样),但锁定仍然存在,这让我认为它可能并没有真正删除,也许只是等待删除?
这是一个已知的错误吗?还是我做错了什么?是否有一种实用工具可以强制解锁此文件?
请参见以下可能的解决方案:
Visual Studio构建失败:无法将exe文件从obj\debug复制到bin\debug

然而,其他问题中发布的解决方案并未解决我的问题。 - tbone
7个回答

4
我曾经遇到过同样的问题,原因是 AVG Resident Shield 扫描文件时进行复制、打开或保存操作。暂时禁用该功能后,我的问题得以解决。

2

在构建安装程序时,我遇到了同样的问题,即VS无法删除以前构建的.msi文件。

我自己明确地将其删除后,尝试重新构建安装程序,这次成功了。


1
如果您正在使用Team Foundation Server,请尝试关闭Visual Studio并删除TFS Cache子目录中的所有内容(例如C:\Users\\[login]\AppData\Local\Microsoft\Team Foundation\[version]\Cache)。
下次启动Visual Studio时,它会抱怨缺少配置文件,但是当您重新连接到TFS服务器时,将重新创建一个配置文件。

0

我曾经遇到过同样的问题。

这是在我安装 AVG 杀毒软件之后发生的。只需禁用或卸载 AVG,问题就会消失。

可以尝试删除或替换构建所在的文件夹,然后重新构建项目。

希望这能有所帮助!


0
可能是您计算机上的防病毒软件正在偷偷检查您刚刚构建的新.exe文件,从而在短时间内对该文件进行读取锁定。尝试暂时暂停计算机上的实时病毒扫描,看看问题是否消失。

0

我将解决方案的父文件夹复制到电脑的另一个位置。之后,我重新构建了项目,现在它可以正常工作。


0

拒绝访问也是以低权限用户身份运行VS时的典型症状。请记得以管理员身份运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接