mt.exe:一般错误c101008d:无法将更新后的清单写入文件资源...访问被拒绝

Jac*_*kie 36 c++ visual-studio-2008 visual-studio

即使我构建一个新的C++项目并尝试构建一个发布文件,我也经常遇到这个问题.

我使用Visual Studio 2008.可能导致此问题的一件事是我的代码保存在服务器磁盘上,而不是本地硬盘上.

mt.exe:一般错误c101008d:无法将更新后的清单写入文件"..\Release\PGTS_version17C.exe"的资源.该进程无法访问该文件,因为该文件正由另一个进程使用.

有谁知道如何解决这个问题?谢谢.

Zam*_*oni 43

如果要嵌入清单文件,则防病毒程序可能会在嵌入清单之前锁定并扫描您的exe文件.

我建议禁用防病毒来读取您的DEBUG和RELEASE输出文件夹.

  • 即使WindowsDefender似乎也保持这种状态。 (2认同)

Gir*_*rdi 12

转到Debug和/或Release文件夹,右键单击并取消设置Read-Only属性.

MSDN社区中找到了这个提示并解决了我的问题!


Any*_*lse 7

有趣的是,我有完全相同的错误,整个项目的"重建"解决了它.


Yoc*_*mer 6

它不是权限或实际文件访问问题(AV)...

您可以添加标志以使编译器检查清单的有效性.

此验证将解决问题,因此您永远不必再次重建它.
这对于运行实际构建机器或自动构建脚本而不想手动干扰的任何人来说非常重要:

添加此标志:
Project properties - > Configuration Properties - > Manifest Tool - > Command Line - > Additional options:

/validate_manifest
Run Code Online (Sandbox Code Playgroud)


小智 5

禁用防病毒软件对我有用。