暧昧的参考

我在我的解决方案中删除了一个项目,然后重新添加它。 自从阅读它..我现在得到一个ambiguous reference错误,我无法删除。 查看类的实现(获取错误)我看到它引用了两次:

 > ClassName (myclass.Class) myclass.Class > ClassName (myclass.Class) myclass.Class, Version=1.0.0.0 

命名空间只查看一次,但此问题仅存在于1个局部视图中。

编辑:

 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 

MyViewModel给出了模糊错误,如果我查看它显示重复的所有可用类,如:

 MyClass.Class.MyViewModel MyClass.Class.MyViewModel MyClass.Class.MyOtherViewModel MyClass.Class.MyOtherViewModel 

但是当我在同一个项目中打开另一个局部视图时,它很好。 这只是一个似乎保留重复引用的部分。

知道如何解决这个问题吗?

您是否尝试右键单击解决方案并执行Clean Solution

听起来您的项目对同一个程序集有两个不同的引用。

摆脱其中一个。

我得到这是一个错误的错误信息,我的项目仍然建立并运行好几个月。 这是因为有人将一个类放在一个名称空间中,该名称空间与该名称空间的所有其他实例具有不同的大小写,因此它们实际上是两个不同的名称空间。 我们的代码在技术上是正确的,但ASPX <%@ Register %>指令抱怨它含糊不清,因为有两个不同的符号具有“相同”的名称; MyNamespaceMynamespace

检查您的大小写。

您是否尝试过关闭再打开它(Visual Studio)? 它对我有用……

可能您的项目在解决方案中有一个指向程序集的链接,并且您的项目类在引用的程序集中有一个using命令用于命名空间。

如果属于一个解决方案,则删除项目之间的程序集链接。

如果您有两个不同版本的引用,也会发生这种情况。 如果您在问题项目中引用程序集并且还引用具有相同引用但具有不同版本的另一个项目,那么使用它的引用是不明确的。

您收到此错误是因为您有两个具有相同名称和相同名称空间的类。 您应该更改其中一个类的命名空间。