剛用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類。