Ответ 1
Вы пытались щелкнуть правой кнопкой мыши по решению и сделать Clean Solution
?
Я удалил проект в своем решении, а затем снова добавил его.
Поскольку я читаю это, я получаю ошибку 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 частичный, который, похоже, сохраняет повторяющуюся ссылку.
Любая идея, как я могу это решить?
Вы пытались щелкнуть правой кнопкой мыши по решению и сделать Clean Solution
?
Похоже, ваш проект имеет две разные ссылки на одну и ту же сборку.
Избавьтесь от одного из них.
Я получал это как ошибочное сообщение об ошибке, и мой проект все еще строился и работал отлично в течение нескольких месяцев. Это связано с тем, что кто-то помещал класс в пространство имен с различной капитализацией ко всем другим экземплярам этого пространства имен, поэтому они были фактически двумя разными пространствами имен. Наш код был технически корректным, но директива ASPX <%@ Register %>
жаловалась, что это было неоднозначно, потому что было два разных символа с "одинаковым" именем; MyNamespace
и MyNamespace
.
Проверьте свою капитализацию.
Вы пытались отключить и снова включить его (Visual Studio)? Это сработало для меня...
Возможно, ваш проект имел ссылку на сборку в вашем решении, а также ваш класс проекта имеет оператор using в пространстве имен в сборке ссылок.
Удалить ссылку на сборку между проектами, если они принадлежат одному решению.
Это также может произойти, если у вас есть ссылки на две разные версии. Если вы ссылаетесь на сборку в своем проблемном проекте, а также ссылаетесь на другой проект с той же ссылкой, но с другой версией, это неоднозначно, какую ссылку использовать.
Вы получаете эту ошибку, потому что у вас есть два класса с тем же именем и с тем же пространством имен. Вы должны изменить пространство имен одного из классов.