尝试将解决方案从2008年升级到2010年。我突然在VS 2010中编写了很多模糊的引用错误。
它在2008年运作良好。对于使用指令,VS 2010是否更加严格?
答案 0 :(得分:4)
我有类似的问题。
我不认为它更严格,但更多的是现在具有我在引用的dll中使用的相同类名的新框架的巧合,要么移动了事物,要么对现有的dll进行了一些新的开发。
修复整个项目需要一些时间,但我找到的方法是:
使用或者定义类的完整位置
或
定义别名:
using CompanyMagic = Core.Company.Magic;
答案 1 :(得分:2)
您是否在解决方案中引用了同一程序集的两个不同的dll版本?
例如,您是引用“来自dotnet 2的System.dll”加上“来自dotnet 4的System.dll”吗?
答案 2 :(得分:0)
StackOverFlow上有一个非常相似的帖子:Ambiguous reference error in VS2010
来自这篇文章,来自Richard:
关于不同情况(例如当前命名空间中的标识符优先级)(例如上面的类程序中)的查找规则可能会略有变化。
有两种方法可以消除歧义:
使用命名空间别名来完全限定标识符,而无需输入太多内容:
使用MyAction = MyNamespace.Action;