說說微軟的bug吧,昨天裝Visual Studio 2008,注意:我出現這個bug的緣故是因為將Visual Studio 2008裝在了FAT32分區下,當然裝在這里也不是說完全有問題,但是這樣裝的話,就不能將項目同樣放在FAT32分區下,裝好了以后,隨便編了個程序,編譯連接,一切OK,是在debug模式下的,但是運行的時候,卻出現一些問題,截圖上來給大家看看

編譯和連接的時候都是正常的,惟獨在運行的時候會出現這種錯誤,當時都無語了,具體有操作有,將MSVCR90D.dll拷到system32\下,結果要出現了另外一個問題,截圖上來給大家看看

當時都無語了,總之,以后是不要將庫拷來拷去,這樣解決不了根本問題,具體解決辦法還有,將debug模式改為Release,然后在Release模式下可以正常的編譯連接和運行.為什么會這樣呢,因為release模式下,程序是不會去鏈接 *.dll 的庫的,所以能正常工作.不過我要說的是,這不是根本原因,根本原因在于微軟的bug,下面詳細道來:
這個是FAT32文件系統分區的緣故,一般有如下癥狀;
第一次Build 的時候從不出問題,在以后重新Build 的時候,可能隨機地出現問題。可能你Build間隔的時間足夠長,也不會出問題。
微軟也知道這個bug,但是看來沒有打算完全解決它的意向,倒是在項目屬性中有個選項,讓你在FAT32 下也能正常工作。具體如何解決,是這樣做的:
如果是把項目放在FAT32分區,那么這樣操作:
英文版:Project Properties -> Manifest Tool-> Use FAT32 Work-around -->Yes
中文版:項目-->項目屬性-->配置屬性-->清單工具-->使用FAT32解決方法-->是
然后clean下,然后Rebuild即可正常運行,但是這樣就會很麻煩,每次建個項目,都要設置它的項目屬性
最好的解決辦法是,將你的項目放在NTFS分區下,這樣才可以正常的工作.
如果可以,提醒用戶,直接將Visual Studio 2008裝在你的NTFS分區下把,這樣就不會有限制了,你可以將你的項目創建在任何地方了,而也不會出現上面所說的錯誤
在網上搜了下,解決這個問題的自己沒搜到,因為微軟也沒任何有用的提示,所以就把它發表下,讓其他的朋友也看看把,別像我一樣,弄了一天才弄好,才知道癥結所在,微軟的這個bug,真讓我郁悶,當時真想把電腦給砸了,呵呵...
忘了補充一點:如果你安裝的也是NTFS格式的文件系統分區,項目也是建在這樣格式的分區里,你還要下載微軟的一個補丁,在這里找這樣一個補丁,給出下載地方,至此,問題就可以順利解決了
download.microsoft.com/download/0/d/5/0d5580c0-9d8c-4873-9024-553323ab8589/WindowsXP-KB889016-x86-CHS.exe