不存在模棱两可的参考

时间:2013-04-19 20:12:58

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

在Visual Studio 2010项目中,我们在两个不同的命名空间中有两个同名的类,这两个命名空间通常都包含在整个应用程序的ViewModel中。一个这样的类已经被弃用和删除了,但是当直接引用剩下的类时,我得到一个模糊的引用错误,即使旧类不再存在。

我们基本上有这样的事情:

using OurNamespace.UI.Common;
using OurNamespace.SomewhereElse;

// *snip*
SomeClass.SomeMethod();

曾几何时,上述两个命名空间都有一个SomeClass,但我们删除了OurNamespace.UI.Common中的一个。但是,在构建时,我们会收到以下错误:

  

'SomeClass'是'OurNamespace.UI.Common.SomeClass'和'OurNameSpace.SomewhereElse.SomeClass'之间的模糊引用

我已经尝试按照this ambigous reference question的答案清理解决方案并进行重建,但只能继续查看错误。仍然潜伏着什么使得它认为删除的类仍然存在用于模糊引用的目的?甚至IntelliSense都知道现在只有一个。

3 个答案:

答案 0 :(得分:2)

如果您查看项目的引用(通过References窗口的Solution Explorer部分),您可以右键点击引用并选择View in Object Browser

这允许您调查引用的程序集,以查看有问题的类是否仍然潜伏在其中任何一个。

答案 1 :(得分:0)

  

还有一个对旧类所在的命名空间的引用(因为它还有其他东西在使用)

我认为您的问题在于对用于包含已删除类的dll的引用。

只需删除引用并重新添加即可。它应该解决这个问题。

答案 2 :(得分:0)

超级老线程,但是在VS2017中,我发生了这种情况,并且必须重新启动VS ,以便在命名空间之间移动文件后修复它。