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

Posted

技术标签:

【中文标题】尝试构建 VS2010 控制台应用程序时访问被拒绝错误(无法写入输出文件)【英文标题】:Access denied error when trying to build VS2010 console application (Could not write to output file ) 【发布时间】:2011-02-14 22:41:02 【问题描述】:

VS2010 在 Windows7x64 上运行

我正在尝试构建 VS2010 控制台应用程序,但偶尔会收到此错误:

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

使用 Sysinternals ProcessExplorer,我可以看到该文件的句柄,但是当我单击它时,没有显示任何应用程序持有它,当我尝试关闭句柄时,我得到一个“错误打开过程:句柄是无效的。” ProcessExplorer 中的错误。

如果我进入 Windows 资源管理器中的文件夹,我可以物理删除该文件(看起来如此),但锁定仍然存在,让我觉得它可能实际上并没有删除,也许它只是等待删除?

这是一个已知的错误,我做错了什么吗? 是否有可以强制解锁此文件的实用程序?

请参阅此处了解可能的解决方案:Visual Studio build fails: unable to copy exe-file from obj\debug to bin\debug

【问题讨论】:

Visual Studio build fails: unable to copy exe-file from obj\debug to bin\debug的可能重复 但是,另一个问题中发布的解决方案没有解决我的问题。 【参考方案1】:

我遇到了同样的问题,我在复制、打开或保存文件时扫描文件是 AVG Resident Shield。暂时禁用它后,我的问题就消失了。

【讨论】:

【参考方案2】:

我在构建安装项目时遇到了同样的问题,VS 无法删除之前构建的 .msi

我自己明确删除了它并尝试再次构建安装项目并且它有效。

【讨论】:

【参考方案3】:

如果您使用的是 Team Foundation Server,请尝试关闭 Visual Studio 并删除 TFS Cache 子目录中的所有内容(例如 C:\Users\\[login]\AppData\Local\Microsoft\Team Foundation\[version]\Cache)。

下次启动 Visual Studio 时,它会抱怨缺少配置文件,但当您重新连接到 TFS 服务器时会重新创建一个。

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

我已将解决方案的父文件夹复制到计算机的另一个位置。之后,我重建了项目,它对我有用。

【讨论】:

【参考方案6】:

我遇到了同样的问题。

它发生在我安装了 AVG 防病毒软件之后。只需禁用或卸载 AVG,问题就会消失。

它可以帮助您删除或替换您的构建所在的文件夹,而不是重建项目。

希望这会有所帮助!

【讨论】:

【参考方案7】:

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

【讨论】:

以上是关于尝试构建 VS2010 控制台应用程序时访问被拒绝错误(无法写入输出文件)的主要内容,如果未能解决你的问题,请参考以下文章

VS2010 中的远程调试 - 访问被拒绝

尝试删除 Temporary ASP.NET Files 文件夹中的文件时访问被拒绝

无法启动程序,访问被拒绝

vs2022路径拒绝访问

不知道为啥用VS调试的时候被拒绝访问

访问被拒绝在 Windows 7 上运行 sn.exe