不存在的歧义引用

本文关键字:引用 歧义 不存在 | 更新日期: 2023-09-27 18:10:01

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

基本上是这样的:

using OurNamespace.UI.Common;
using OurNamespace.SomewhereElse;
// *snip*
SomeClass.SomeMethod();

从前,上面两个命名空间都有一个SomeClass,但是我们删除了ournamespaces . ui . common中的那个。然而,在构建时,我们得到以下错误:

'SomeClass'是在' ournamespaces . ui . common . '之间的一个模糊引用。someeclass '和' ournamspace . somewhere . someeclass '

我已经尝试过清理解决方案,并按照这个模棱两可的参考问题的答案中建议的重新构建,只是继续看到错误。隐藏在后面的是什么,使它认为删除的类仍然存在,以实现模糊引用?即使是智能感知也知道现在只有一个。

不存在的歧义引用

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

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

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

我认为你的问题在于引用了用来包含已删除类的dll。

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

超级老线程,但在VS2017中,我发生了这种情况,不得不重新启动VS以修复我在命名空间之间移动文件后的问题。