今天又被这问题撞上了,结果神奇般的解决了
谷歌了很久都没有找到真正有用的解决方案,所以在这儿写下,让更多的人看到
最根本的原因其实就是引用的问题,引用错了,然后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!