Несоответствие типов после установки MVC 3 в представлении MVC 2 - PullRequest
2 голосов
/ 02 марта 2011

HI All,

после установки ASP.NET MVC 3 и открытия моего текущего проекта MVC 2, все было в порядке.Но при открытии представления, использующего System.Web.MVC.SelectList, я получаю следующую ошибку:

Ошибка 205 Значение типа 'System.Web.Mvc.SelectList' не может быть преобразовано в 'System.Web.Mvc.SelectList.Несоответствие типов может быть связано со смешиванием ссылки на файл 'c: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll' в проекте 'DSMStoreFront' с файломссылка на «c: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies \ System.Web.Mvc.dll» в проекте «2_Views_Basket_Overview.aspx».Если обе сборки идентичны, попробуйте заменить эти ссылки, чтобы обе ссылки были из одного места.

При отладке всего проекта больше ничего не происходит, поэтому я просто считаю, что это небольшая проблема в редакторе MVC-Просмотры.Но, может быть, кто-то знает решение, чтобы исправить это?

Все ссылки предназначены для MVC 2, а два файла web.configs (root & views-folder) должны иметь следующую ссылку:

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

Большое спасибо заранее!

1 Ответ

1 голос
/ 02 марта 2011

Если вы установили MVC3, хотите ли вы использовать его для этого проекта или хотели бы сейчас придерживаться MVC2? Вы случайно используете IIS6 с картами скриптов? Также я помню, что MVC3 предназначен исключительно для .NET 4.0, использует ли ваше приложение .NET 4.0 или 3.5? У меня не было проблемы, с которой вы столкнулись, поэтому я просто выкидываю некоторые идеи. Возможно, попробуйте выполнить быстрый поиск содержимого вашего проекта или самого файла проекта для любых ссылок, которые указывают на 3, этого не должно быть, если вы пытаетесь придерживаться MVC2.

Если вы хотите обновить систему до версии 3.0, вам нужно добавить следующее в ваш файл web.config.

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

В качестве альтернативы, мне интересно, можете ли вы изменить это отображение сборки, чтобы перенаправить запросы на 3.0 для сопоставления с 2.0?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...