错误 未能找到类型或命名空间名称"xxxxxx"的真正原因

今天又被这问题撞上了,结果神奇般的解决了

谷歌了很久都没有找到真正有用的解决方案,所以在这儿写下,让更多的人看到

最根本的原因其实就是引用的问题,引用错了,然后VS在这上面提示又不够智能,所以大家被坑一次又一次

不过也许这只是原因之一,还会有其他的原因

第一种可能:

这种可能性很好排查,A项目所使用的.net版本为3.5,B项目为4.0,那么A引用B是肯定要出事的

而错误提示就是那坑爹的未能找到类型或命名空间名称

第二种可能:

也就是今天遇到的,举个例子

假设各个项目的.net版本完全一致,排除掉第一种可能性

然后,A项目引用了d.dll,d.dll的.net版本为2.0,C项目也引用了d.dll,版本为3.0

这时A项目引用C项目就是要出事的,然后就是那坑爹的提示,A和C分别引用的d.dll所使用的.net版本不一样也会出事

我就是这种情况被坑。排除起来比较麻烦,需要把引用的相同的dll一个一个去掉,还要注释掉相关代码,然后才能找出来。

重新引用,一切OK!

上一篇:JavaScript | 对象详解


下一篇:Linux下Mysql安装教程详解