Подтвердить что ты не робот

Неоднозначная ссылка

Я удалил проект в своем решении, а затем снова добавил его. Поскольку я читаю это, я получаю ошибку ambiguous reference, которую я не могу удалить. просмотр реализации класса (который получает ошибку) Я вижу, что он ссылается на него дважды:

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

пространство имен просматривается только один раз, но эта проблема существует только в 1 частичном представлении.

EDIT:

<%@ 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 частичный, который, похоже, сохраняет повторяющуюся ссылку.

Любая идея, как я могу это решить?

4b9b3361

Ответ 1

Вы пытались щелкнуть правой кнопкой мыши по решению и сделать Clean Solution?

Ответ 2

Похоже, ваш проект имеет две разные ссылки на одну и ту же сборку.

Избавьтесь от одного из них.

Ответ 3

Я получал это как ошибочное сообщение об ошибке, и мой проект все еще строился и работал отлично в течение нескольких месяцев. Это связано с тем, что кто-то помещал класс в пространство имен с различной капитализацией ко всем другим экземплярам этого пространства имен, поэтому они были фактически двумя разными пространствами имен. Наш код был технически корректным, но директива ASPX <%@ Register %> жаловалась, что это было неоднозначно, потому что было два разных символа с "одинаковым" именем; MyNamespace и MyNamespace.

Проверьте свою капитализацию.

Ответ 4

Вы пытались отключить и снова включить его (Visual Studio)? Это сработало для меня...

Ответ 5

Возможно, ваш проект имел ссылку на сборку в вашем решении, а также ваш класс проекта имеет оператор using в пространстве имен в сборке ссылок.

Удалить ссылку на сборку между проектами, если они принадлежат одному решению.

Ответ 6

Это также может произойти, если у вас есть ссылки на две разные версии. Если вы ссылаетесь на сборку в своем проблемном проекте, а также ссылаетесь на другой проект с той же ссылкой, но с другой версией, это неоднозначно, какую ссылку использовать.

Ответ 7

Вы получаете эту ошибку, потому что у вас есть два класса с тем же именем и с тем же пространством имен. Вы должны изменить пространство имен одного из классов.