ASP.NET MVC 4 разбивает проекты ASP.NET MVC 3

После установки предварительного просмотра ASP.NET MVC 4 Developer я больше не могу открывать проекты MVC 3 со следующим сообщением об ошибке:

The project type is not supported by this installation.

<ProjectTypeGuids> в моем MVC 3.csproj файле выглядит правильно:

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

Является ли это ошибкой в ​​предварительном просмотре разработчика MVC 4 или что-то не хватает в моей установке Visual Studio 2010? И как это решить? Должен ли я откатить мой MVC 4?

Я попытался запустить devenv /ResetSkipPkgs и установил обновление MVC 3 Tools, но безрезультатно.

Ответ 1

"Если вы хотите обновить свои проекты до MVC4 и открыть их как таковые в visual studio, тогда" "

Решение состоит в том, чтобы изменить контуры projectType из

{E53F8FEA-EAE0-44A6-8774-FFD645390401}

к

{E3E379DF-F4C6-4180-9B81-6769533ABE47}

в файле csproj после установки пакета визуальной студии mvc4.

Ответ 2

ASP.NET MVC 4 Developer Preview работает рядом с предыдущими версиями ASP.NET MVC, однако есть несколько известных проблем, о которых нужно знать. Самый большой:

Установка ASP.NET MVC 4 Предварительный просмотр предварительного просмотра ASP.NET MVC 3 RTM Приложения. ASP.NET MVC 3 приложения, созданные с помощью Релиз RTM (не с выпуском обновления ASP.NET MVC 3 Tools) требует следующие изменения для работы бок о бок с ASP.NET MVC 4 Предварительный просмотр разработчика. Построение проекта без внесения этих обновлений приводит к ошибкам компиляции.

Здесь вы найдете решения здесь.

Ответ 4

Проверьте ссылку на файл System.Web.Mvc.dll в своей ссылке. Убедитесь, что он указывает на C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll

Если он указывает на тот, который находится в каталоге ASP.NET MVC 4, откройте файл проекта в блокноте. Найдите

<Reference Include="System.Web.Mvc">
  <Private>False</Private>
</Reference>

Это должно быть изменено на

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35, processorArchitecture=MSIL" />