我在解决方案中删除了一个项目,然后又重新添加了它。 自从读完它后..我现在收到一个无法删除的
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<MyClass.Class.MyViewModel>" %>
MyViewModel 给出了不明确的错误,如果我查看所有可用的类,它会显示重复项,例如:
MyClass.Class.MyViewModel
MyClass.Class.MyViewModel
MyClass.Class.MyOtherViewModel
MyClass.Class.MyOtherViewModel
但是当我在同一个项目中打开另一个部分视图时,就没有问题了。这只是 1 部分似乎保留了重复的引用。
知道如何解决这个问题吗?
您是否尝试过右键单击解决方案并执行
Clean Solution
?
听起来您的项目对同一个程序集有两个不同的引用。
除掉其中一个。
我收到此错误消息,但我的项目仍然构建并运行良好几个月。这是因为有人将一个类放在一个名称空间中,该名称空间的大小写与该名称空间的所有其他实例不同,因此它们实际上是两个不同的名称空间。我们的代码在技术上是正确的,但 ASPX
<%@ Register %>
指令抱怨它不明确,因为有两个不同的符号具有“相同”的名称; MyNamespace
和 Mynamespace
。
检查你的大小写。
您是否尝试过将其(Visual Studio)关闭然后再次打开?它对我有用...
我删除了每个项目目录中的“bin”和“obj”子目录,错误就消失了。
您的项目可能有一个指向解决方案中的程序集的链接,并且您的项目类对引用的程序集中的命名空间有一个 using 语句。
如果项目属于一个解决方案,则删除项目之间的程序集的链接。
如果您引用了两个不同的版本,也可能会发生这种情况。如果您在问题项目中引用程序集,并且还引用具有相同引用但版本不同的另一个项目,则使用哪个引用是不明确的。
您收到此错误是因为您有两个具有相同名称和相同命名空间的类。您应该更改其中一个类的命名空间。