Использование двух версий одной и той же сборки (system.web.mvc) одновременно - PullRequest
1 голос
/ 13 мая 2010

Я использую систему управления контентом, интерфейс администратора которой использует MVC 1.0.Я хотел бы создать открытые части сайта, используя MVC 2.

Если я просто ссылаюсь на System.Web.Mvc версии 2 в моем проекте, режим администратора не работает как ссылка на System.Web.Mvc.ViewPage, созданный представлениями в интерфейсе администратора, является неоднозначным:

Тип 'System.Web.Mvc.ViewPage' является неоднозначным: он может исходить из сборки 'C: \ Windows \ assembly \ GAC_MSIL \ System.Web.Mvc \ 2.0.0.0__31bf3856ad364e35 \ System.Web.Mvc.dll 'или из сборки' C: \ Windows \ Assembly \ GAC_MSIL \ System.Web.Mvc \ 1.0.0.0__31bf3856ad364e35 \ System.Web.Mvc.dll ',Пожалуйста, укажите сборку явно в имени типа.

Я мог бы легко обойти это, используя перенаправления привязки, чтобы указать, что MVC 2 всегда должен использоваться.К сожалению, режим администрирования систем управления контентом не совместим с MVC 2. Я не совсем уверен, почему, но я начинаю получать кучу исключений нулевых ссылок в некоторых его действиях, когда я пробую его, и разработчики CMS подтвердиличто он не совместим с MVC 2 (пока).

Интерфейс администратора, доступ к которому осуществляется через domain.com/admin, физически находится не в webroot / admin, а в папке с программными файлами на сервере и в домене.Вместо этого .com / admin направляется туда с помощью провайдера виртуального пути.Поэтому размещение отдельного файла web.config в папке администратора для указания другой версии System.Web.Mvc для этой части сайта невозможно, так как при использовании общего хостинга это не сработает.

Кто-нибудь может увидеть какое-либо решение этой проблемы?Возможно, можно указать, что для некоторых сборок должна использоваться другая версия ссылочной сборки?

Ответы [ 2 ]

1 голос
/ 01 мая 2012

Мы столкнулись с подобной проблемой. Большинство наших приложений используют MVC 3.0. Мы используем систему управления контентом, которая использует MVC 1.0. У нас была проблема совместимости, потому что мы пытались сослаться на один из компонентов приложения в системе управления контентом. Когда мы поместили обе версии MVC в GAC, это решило проблему.

0 голосов
/ 13 мая 2010

Почему бы не избавить себя от боли и не использовать MVC 1 для своего публичного сайта? Конечный пользователь не будет знать никакой разницы, и в MVC 1

нет ничего плохого
...