переключатель от asp.net mvc 1.0-> 2.0 - s#arp платформа

У меня есть более старый asp.net mvc решение (s#arp платформа) с двумя проектами один для сети и один для контроллера. Я изменил dll на последние версии (2.0) для Системы. Сеть. MVC и Microsoft. Сеть. MVC. Я также скорректировал свою сеть. Конфигурация:

<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

Это - (в теории) все, что я должен сделать?

Решение создает прекрасный, но я получаю эту ошибку:

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

Детали исключения: Система. ArrayTypeMismatchException: Предпринятый для доступа к элементу как к типу, несовместимому с массивом.

Исходная ошибка:

Строка 32: Строка 33: ViewEngines. Механизмы. Ясный (); Строка 34: ViewEngines. Механизмы. Добавьте (новый AreaViewEngine ()); Строка 35: Строка 36: ModelBinders. Редакторы связей. DefaultBinder = новый SharpModelBinder ();

Это не могло бы быть связано с переключателем mvc, но s#arp платформой. Какие-либо идеи?Спасибо.

С наилучшими пожеланиями,

Христианин

1
задан cs0815 13 July 2010 в 12:22
поделиться

1 ответ

Этот вопрос связан с архитектурой S#arp. Вам нужно получить MVC2 версию S#arp здесь: http://github.com/codai/Sharp-Architecture/downloads. Первый пункт в списке - это то, что вам нужно, включая шаблон VS2010. (Обратите внимание на опечатку в описании, где сказано ASP.NET 2, должно быть ASP.NET MVC 2)

Надеюсь, это поможет.

P.S. Если вам интересно узнать о причине самого исключения, ознакомьтесь с этой небольшой статьей: http://dotnetperls.com/arraytypemismatchexception. Я подозреваю (не глядя на исходники S#arp 1 и MVC2), что SharpModelBinder (версия MVC1) теперь несовместим с реализацией MVC2 DefaultBinder, и это не обнаруживается во время компиляции, потому что SharpModelBinder наследуется от DefaultBinder, и компилятор считает, что все в порядке. Только во время выполнения обнаруживается фактическая несовместимость.

2
ответ дан 2 September 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: