Преобразование проекта MVC 2 в VS2008 в VS 2010 .. сбой в одном проекте .. Тип проекта неправильный? - PullRequest
1 голос
/ 20 июля 2011

Итак, я пытаюсь перенести проект MVC1 VS2008 в MVC3.

Вот шаги, которые я пытаюсь сделать.

  1. Использовать преобразование вконвертировать vs2008 mvc1 в vs 2008 mvc2 (успех) Инструмент: http://weblogs.asp.net/leftslipper/archive/2010/03/10/migrating-asp-net-mvc-1-0-applications-to-asp-net-mvc-2-rtm.aspx

  2. Открыть vs2008 sln в vs2010 для конвертации (не удалось в моем основном проекте приложения)

  3. Преобразовать из.Net3.5 в .Net 4.0
  4. Используйте инструмент для конвертирования в MVC3

На втором шаге он не выполняется в моем основном проекте, а затем не откроет проект с ошибкой.

 The Project <project path> cannot be opened

 The project type is not supported by this installation

Я обнаружил, что некоторые сообщения в StackOverflow похожи на проблему с RC1 и RC2, но установил мой MVC2 из установщика веб-платформы, поэтому он должен иметь самую последнюю версию, а не RC.

IПредположим, что эта строка - моя проблема, кто-нибудь знает, как ее исправить?

<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Я пытался опубликовать свой csproj, но он превысил максимальное количество строк .. если есть необходимость в диагностике, просто дайте мне знать.

Спасибо,

Cal-

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Лично я использую следующий путь миграции *:

  1. Убедитесь, что у меня установлено Обновление RTM Tools ASP.NET MVC 3 установлено
  2. Откройте проект ASP.NET MVC 1.0 в Visual Studio 2010
  3. Мастер миграции запускает и спрашивает меня, хочу ли я перейти на .NET 4.0, и я говорю Да

    enter image description here

  4. Убедитесь, что сборка System.Web.Mvc, на которую ссылается мой проект, - V2.0.0.0.Если он все еще старый, я удаляю его и добавляю правильную версию

На этом этапе я проверяю, что у меня есть работающее приложение ASP.NET MVC 2.0 и закрываю Visual Studio.

Остался один последний шаг.Для этого, в зависимости от моего настроения, я делаю одно из следующих действий:

* Чтобы ответить на этот вопрос, я выполнил предыдущие шаги в реальном проекте ASP.NET MVC 1.0, и он был успешно обновлен до ASP.NET MVC 3

0 голосов
/ 21 июля 2011

Хорошо, я сделал это обоими способами и получил один и тот же результат.

Я понял это, вот что происходит. Имейте в виду, что шаги 1 и 3 - это, вероятно, все, что нужно для его исправления, но я включаю второй шаг, и для ясности моего процесса отладки, и для полноты на случай, если он требуется, и мои предположения неверны.

  1. Несмотря на то, что MVC # был установлен и отображался как установленный в программе добавления удаленных программ, MVC 3 не показывался в качестве ссылки. Я удалил, переустановил и перезагрузил, и он начал отображаться.

  2. Мне пришлось изменить Guides проекта в файле CSPROJ, сначала я удалял их по одному, пока проект Main app не смог загрузить, а затем восстановил. Все проекты, кроме основного, работали, но он не конвертировался. Это не произошло из-за непризнанного проекта Type Guid.

Поскольку это не преобразовало, я получил эту ошибку:

Тип 'System.Web.Mvc.ViewMasterPage' является неоднозначным: он может быть получен из сборки 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Web.Mvc \ v4.0_3.0.0 .0__31bf3856ad364e35 \ System.Web.Mvc.dll 'или из сборки' C: \ Windows \ Assembly \ GAC_MSIL \ System.Web.Mvc \ 1.0.

Обратите внимание, что Coverted не выдавал ошибку и просто регистрировал, что проект не был получен. Вы должны внимательно посмотреть журналы, чтобы заметить. К счастью, вы можете запустить конвертер в одном и том же решении несколько раз. вот как я это заметил.

  1. Мне пришлось снова изменить направляющие типа проекта, потому что опять неопознанная направляющая типа. Я только что создал новый проект MVC3 и отредактировал CSPROJ, чтобы получить правильные направляющие типов.

    {E53F8FEA-EAE0-44A6-8774-FFD645390401}; {349c5851-65df-11da-9384-00065b846f21}; {fae04ec0-301f-11d3-bf4b-00c04f79efbc}

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

После этого я переконвертировал, и он отлично работал, и ошибки исчезли.

Спасибо

кальцит

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