含糊不清的参考

时间:2011-03-16 13:16:03

标签: c# visual-studio-2010 asp.net-mvc-2

我在我的解决方案中删除了一个项目,然后重新添加了它。 自从阅读它..我现在收到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

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

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

8 个答案:

答案 0 :(得分:45)

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

答案 1 :(得分:4)

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

摆脱其中一个。

答案 2 :(得分:1)

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

检查您的大写字母。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

我删除了每个项目目录中的“ bin”和“ obj”子目录,错误消失了。

答案 7 :(得分:-2)

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

相关问题