2011-03-16 71 views
18

我在我的解决方案中删除了一个项目,然后重新添加它。 由于阅读它..我现在得到一个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部分,似乎保留了重复的参考。

任何想法如何解决这个问题?

+2

模棱两可的标题 – 2015-11-17 04:22:32

回答

43

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

+5

我做了几次清理..但它采取了手动清理排序。感谢所有 – nologo 2011-03-16 14:13:33

+0

我也必须做一个手册,以解决这个问题,但谢谢你。 – EllisChadwick 2013-10-30 10:33:20

+1

伟大的手动清洁说明从这个答案:http://stackoverflow.com/a/4744901/85662。 – WhatIsHeDoing 2014-08-12 16:16:41

-2

由于您有两个具有相同名称和相同名称空间的类,因此会出现此错误。你应该改变其中一个类的命名空间。

+0

nope ..该类只命名一次。请参阅编辑 – nologo 2011-03-16 13:24:58

+0

尝试删除引用并确保您按项目引用。 – 2011-03-16 13:28:21

+0

完成。它只保留了一个奇怪的参考。重新启动我的机器/清理解决方案/清除临时asp.net文件夹 – nologo 2011-03-16 13:29:59

4

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

摆脱其中之一。

1

我收到这是一个错误的错误消息,我的项目仍然建成并运行良好数月。这是因为有人把一个类放在一个名字空间的名字空间中,这个名字空间的名字空间与这个名字空间的所有其他实例不同,所以它们实际上是两个不同的名字空间。我们的代码在技术上是正确的,但ASPX <%@ Register %>指令抱怨说它不明确,因为有两个不同的符号具有“相同”的名称; MyNamespaceMynamespace

检查您的大小写。

1

你有没有试过把它(Visual Studio)关闭和再次?它为我工作...

0

可能您的项目有一个链接到解决方案中的程序集,而且您的项目类有一个using语句引用程序集中的名称空间。

如果项目属于一个解决方案,请删除项目之间的装配链接。

0

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