VS 2010中的模糊引用

时间:2011-01-06 12:39:47

标签: c# .net visual-studio-2010

尝试将解决方案从2008年升级到2010年。我突然在VS 2010中编写了很多模糊的引用错误。

它在2008年运作良好。对于使用指令,VS 2010是否更加严格?

3 个答案:

答案 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

关于不同情况(例如当前命名空间中的标识符优先级)(例如上面的类程序中)的查找规则可能会略有变化。

有两种方法可以消除歧义:

  1. 使用上面的完全限定标识符System.Action或ConsoleApplication1.Action。
  2. 使用命名空间别名来完全限定标识符,而无需输入太多内容:

    使用MyAction = MyNamespace.Action;