У меня есть более старый 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 платформой. Какие-либо идеи?Спасибо.
С наилучшими пожеланиями,
Христианин
Этот вопрос связан с архитектурой 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
, и компилятор считает, что все в порядке. Только во время выполнения обнаруживается фактическая несовместимость.