在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都知道现在只有一个。
答案 0 :(得分:2)
如果您查看项目的引用(通过References
窗口的Solution Explorer
部分),您可以右键点击引用并选择View in Object Browser
。
这允许您调查引用的程序集,以查看有问题的类是否仍然潜伏在其中任何一个。
答案 1 :(得分:0)
还有一个对旧类所在的命名空间的引用(因为它还有其他东西在使用)
我认为您的问题在于对用于包含已删除类的dll的引用。
只需删除引用并重新添加即可。它应该解决这个问题。
答案 2 :(得分:0)
超级老线程,但是在VS2017中,我发生了这种情况,并且必须重新启动VS ,以便在命名空间之间移动文件后修复它。