Миграция MVC2 в MVC3: проблема с MVCFutures - PullRequest
0 голосов
/ 22 ноября 2010

Я пытаюсь перенести проект MVC2 в MVC3 - я следовал инструкциям в заметках о выпуске, и приложение скомпилируется, но проект зависит от нескольких помощников, расположенных внутри предыдущих MVCFutures и бросков:

Сообщение об ошибке компилятора: CS1061: «System.Web.Mvc.HtmlHelper» не содержит определения для «SubmitImage», и никакой метод расширения «SubmitImage», принимающий первый аргумент типа «System.Web.Mvc.HtmlHelper», не может быть найденным (вам не хватает директивы using или ссылки на сборку?)

Мое решение включает в себя папку Lib, внутри которой находится:

MVCFutures \ Microsoft.Web.Mvc.dll

У меня есть опция обновления?

Ответы [ 4 ]

1 голос
/ 16 января 2011

используйте эти инструменты для обновления: http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-tool.aspx

1 голос
/ 18 января 2011

@ justSteve, во-первых, вы можете загрузить исходный код MVC3 из codeplex, который включает в себя код MvcFutures, и просто создать новую сборку фьючерсов самостоятельно.
Однако я готов поспорить, что ваша проблемагде-то пропущено утверждение

Убедитесь, что на вашей странице есть оператор использования пространства имен для Microsoft.Web.Mvc.

Если вы пытаетесь перейти на Razor (чего вы не сказали, но на всякий случай), вы можете поместить ссылку на пространство имен в файл web.config, содержащийся в вашей папке Views (чтобы избежать необходимости включать оператор using в каждое из ваших представлений), например:

   <system.web.webPages.razor>
     <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
     <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
           <add namespace="System.Web.Mvc" />
           <add namespace="System.Web.Mvc.Ajax" />
           <add namespace="System.Web.Mvc.Html" />
           <add namespace="System.Web.Routing" />
           <add namespace="Microsoft.Web.Helpers" />
           ...
        </namespaces>
     </pages>
  </system.web.webPages.razor>
0 голосов
/ 20 января 2011

Для обновления ваших просмотров вы можете попробовать это из Telerik ...

https://github.com/telerik/razor-converter

... он преобразует ваши веб-формы в бритву.

С уважением

Пол

0 голосов
/ 14 января 2011

Вы упомянули, что ваш бинарный файл MVC находится в папке Lib. Убедитесь, что:

  1. Ваш проект содержит ссылку на сборку для этой библиотеки
  2. dll MvcFutures копируется в папку bin
  3. Ваш web.config содержит ссылку на сборку MvcFutures

Не могли бы вы также уточнить, возникает ли исключение при компиляции приложения в Visual Studio (потому что вы используете методы фьючерсов MVC в ваших контроллерах или моделях данных) или когда вы обращаетесь к своему приложению в браузере (потому что вы фьючерсы в ваших взглядах).

Кстати, обновленная версия MVC Futures для MVC 3 будет выпущена в ближайшее время.

Обновление: исходный код для MVC 3 Futures уже доступен в codeplex: http://aspnet.codeplex.com/releases/view/58781, так что вы можете скомпилировать его самостоятельно.

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