Цепочки ссылок, вызывающие дублирование ссылок/неоднозначные вызовы

У меня есть решение с пользовательским интерфейсом MVC, которое ссылается на библиотеки DevExpress.

У меня есть отдельная dll, на которую я ссылался как на вспомогательную, которая была построена с использованием библиотек DevExpress, таким образом:

MyFramework -> DevEx libs
Build to dll(s)

MyWebUI -> DevEx Libs
MyWebUI -> MyFramework.dll

С этой настройкой, когда я пытаюсь запустить приложение пользовательского интерфейса, я получаю следующую ошибку при компиляции представления:

Вызов неоднозначен между следующими методами или свойствами: «DevExpress.Web.Mvc.UI.HtmlHelperExtension.DevExpress(System.Web.Mvc.HtmlHelper)» и «DevExpress.Web.Mvc.UI.HtmlHelperExtension.DevExpress(System.Web .Mvc.HtmlHelper)'

Если я удалю ссылку MyFramework из проекта пользовательского интерфейса, этого не произойдет.

Похоже, что на эти библиотеки devexpress ссылаются дважды, и я не уверен, как это решить. В списке ссылок проекта пользовательского интерфейса каждая из библиотек DevEx, конечно, указана только один раз, и есть единственная ссылка на мою библиотеку DLL.

Я не знаю, является ли это проблемой DevEx или общей справочной проблемой в .NET (я предполагаю, что последнее).


person jleach    schedule 10.06.2016    source источник


Ответы (1)


Каждый раз, как только я публикую его, я нахожу свой ответ.

В DevExpress есть две странные ссылки: DevExpress.Web.Mvc и DevExpress.Web.Mvc5.

Они немного странные в том смысле, что это одни и те же пространства имен/пути к объектам и т.д.

В одном проекте у меня была ссылка на версию Mvc5, а в dll у меня была ссылка на Mvc. Я совпал с двумя, и теперь я в порядке.

person jleach    schedule 10.06.2016