说说微软的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
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2008anzhuangwenti/2020/0722/1708.html