刚用visual 2008又出了这个问题, 于是搜索, 发现大家都是用以下两种处理方法:
【方法】
1.在解决方案资源管理器窗口下》点击项目》右键属性》清单工具》 将FAT32的选项 改为(是);
2.在解决方案资源管理器窗口下》点击项目》右键属性》 链接器》 将启用增量链接 改为(否);
【原因】
VS2008采用了一种新的技术,这个技术生成的可执行文件会伴随生成一个manifest file,并在链接完成后将该文件嵌入到exe文件中, 而在FAT32文件中,在处理清单文件的阶段, 不能更新清单文件,造成上述失败。
知其然,知其所以然!
【manifest file】
Windows XP通过XML文件来实现这一功能,这些XML文件保存了有关应用程序配置的元数据,这里所说的XML文件,就是Manifest清单文件。
Manifest事实上就是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,其内部的信息如<assemblyIdentity>元素则标识着一个唯一的程序集,和其他信息一起,他们用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。另外,Manifests也制定了组成程序集的文件及Windows类。