“没有找到MSVCP90D.dll”的解决办法(转)

原文地址:http://yangzb.iteye.com/blog/983641

出现这个bug的缘故是因为将Visual Studio 2008装在了FAT32分区下,当然装在这里也不是说完全有问题,但是这样装的话,就不能将项目同样放在FAT32分区下,装好了以后,随便编了个程 序,编译连接,一切OK,是在debug模式下的,但是运行的时候,却出现了这个问题。

具体解决办法可以是,将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分区下把,这样就不会有限制了,你可以将你的项目创建在任何地方了,而也不会出现上面所说的错误

原文地址:https://www.cnblogs.com/daidaigua/p/2720360.html