场景

  1. 在使用vs2010编译项目时, 有时候在链接时会出现Error MSB6006: “mt.exe” exited with code 31这样的错误, 打开那个manifest文件却发现没问题. 什么原因?

解决

  1. 这个问题的产生貌似就是文件被占用而不能被写的原因, 网上的一种办法是通过设置project的属性Manifest Tool,把 Input and Output中的Embed Manifest 设置成No. 但是我这里不行, 选择No的话在连接时会错误.

  2. 另一种办法就是看你的电脑里有没有装杀毒软件, 比如Microsoft Security Essentials电脑管家. 把实时文件扫描监控去掉即可.

比如电脑管家的, 选择级别:
[Windows]_[用VS2010编译项目链接时出现MSB6006错误]

参考

error-msb6006-mt-exe-exited-with-code-31
error MSB6006 mt.exe exited with code 31的解决办法

相关文章: