6

在 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' 之间的模糊引用

我已经尝试按照这个模棱两可的参考问题的答案中的建议清理解决方案并重建,只是为了继续看到错误。仍然潜伏着什么使它认为删除的类仍然存在以用于模棱两可的引用?甚至 IntelliSense 也知道现在只有一个。

4

3 回答 3

2

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

这使您可以调查引用的程序集,以查看违规类是否仍潜伏在其中任何一个中。

于 2013-04-20T15:36:50.713 回答
0

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

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

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

于 2013-04-19T20:22:22.703 回答
0

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

于 2018-04-16T22:47:26.310 回答