У меня есть старый проект ASP.NET MVC 2, который я не хочу обновлять до MVC 3 или MVC 4. Я работаю на новой машине под управлением Windows 8, Visual Studio 2012 и Visual Studio 2013. Когда я пытаюсь открыть MVC 2 проекта в VS 2012 или VS 2013 я получаю ошибку:
Этот проект несовместим с текущей версией Visual Studio
Затем проект выгружается и отображается серым цветом в Solution Explorer. Я не хочу устанавливать еще одну копию Visual Studio. Как открыть старый проект MVC в новой версии Visual Studio?
Ответы:
Открытие неподдерживаемого проекта MVC в Visual Studio 2012 или Visual Studio 2013 на самом деле довольно просто сделать за два шага. Фактически, как указывает комментарий bytebender , эти же шаги должны применяться и работать для проектов MVC 1. Однако я не проверял их и поэтому не могу гарантировать, что они действительно работают.
Предполагая, что вы этого еще не сделали, на первом этапе загрузите и установите MVC 1 , MVC 2 или MVC 3 (закройте Visual Studio перед началом установки).
После установки соответствующего варианта MVC проект все равно не будет загружаться в VS 2012. Это связано с тем, что проекты ASP.NET MVC являются подтипом проекта типа проекта веб-приложения. Это означает, что проект имеет дополнительные надстройки и функции, доступные для него при использовании в Visual Studio.
Как Visual Studio 2012, так и Visual Studio 2013 имеют обратную совместимость с ASP.NET MVC и другими типами проектов. К сожалению, установка старых битов MVC не изменила этого. Visual Studio 2012 совместима с разновидностями проекта ASP.NET MVC 3 и 4. Visual Studio 2013 совместим с MVC 4 и MVC 5.
Чтобы загрузить проект, вам нужно изменить файл проекта. Для этого щелкните правой кнопкой мыши на незагруженном проекте и выберите «Изменить». Который откроет файл проекта в виде текстового файла XML. Найдите
ProjectTypeGuids
узел, который должен выглядеть примерно так:Удалите соответствующий Гид проекта из списка:
{603c0e0b-db56-11dc-be95-000d561079b0}
{F85E285D-A4E0-4152-9332-AB1D724D3325}
(показано в примере выше){E53F8FEA-EAE0-44A6-8774-FFD645390401}
{E3E379DF-F4C6-4180-9B81-6769533ABE47}
С удаленным соответствующим GUID
ProjectTypeGuids
должен выглядеть примерно так:Сохраните файл и закройте редактор файлов проекта Visual Studio. Щелкните правой кнопкой мыши по проекту и выберите перезагрузить. Если проект не перезагрузится, закройте и снова откройте Visual Studio. Теперь вы должны иметь возможность работать со старым проектом ASP.NET MVC в новой версии Visual Studio.
Важно отметить, что после этих изменений Visual Studio не знает, что это проект ASP.NET MVC; поэтому специфичные для проекта функции, такие как «Добавить контроллер, просмотр и т. д.» не будет присутствовать в меню.
источник
Я использовал подход @ ahsteele (спасибо и 2x + 1s!), Но у меня была еще одна ошибка: -
Я не могу найти никаких ссылок на истинную причину этого, но я смог заставить VS2012RTM успешно загрузить проект, изменив
<ProjectGuid>
. (Понятия не имею, как это произошло - его часть большого решения и VS08, VS10, VS11 Beta и VS2012RC обновили.csproj
и.sln
со временем.источник
В VS2017 решение состоит в том, чтобы просто сделать это
<ProjectTypeGuids></ProjectTypeGuids>
так.Между леди и джентльменами не должно быть пробелов, иначе это потратит 48 часов вашего времени.
С уважением
источник