152 votes

Comment ouvrir un ancien projet MVC dans Visual Studio 2012 ou Visual Studio 2013?

J'ai un vieux ASP.NET MVC 2 projet dont je ne veux pas mettre à niveau vers MVC 3 ou MVC 4. Je suis en train de travailler sur une nouvelle machine sous Windows 8, Visual Studio 2012 et Visual Studio 2013. Lorsque j'essaie d'ouvrir le MVC 2 projet dans visual studio 2012 ou VS 2013, je reçois l'erreur:

Ce projet est incompatible avec la dernière édition de Visual Studio

Le projet est ensuite déchargé et grisé dans l'Explorateur de solutions. Je ne veux pas installer une autre copie de Visual Studio. Comment puis-je ouvrir un vieux projet MVC dans une nouvelle version de Visual Studio?

290voto

ahsteele Points 12230

L'ouverture d'un non pris en charge MVC projet dans Visual Studio 2012 et Visual Studio 2013 est en fait assez facile à réaliser en deux étapes. En fait, comme bytebender commentaire indique, ces mesures devraient s'appliquer et à travailler pour MVC 1 projets. Cependant, je n'ai pas testé et ne peuvent donc pas garantir qu'ils ne les en fait fonctionner.

En supposant que vous ne l'avez pas déjà fait la première étape est de télécharger et d'installer MVC 1, MVC 2 ou MVC 3 (fermer Visual Studio avant de commencer l'installation).

Une fois que vous ont la saveur de la MVC installé le projet doit encore se charge pas de VS 2012. C'est parce que ASP.NET MVC projets sont un sous-type de projet de l'Application Web type de projet. Cela signifie que le projet a d'autres add-ins et les fonctions disponibles quand il est utilisé dans Visual Studio.

Visual Studio 2012 et Visual Studio 2013 sont limités dans leur compatibilité avec les ASP.NET MVC et d'autres types de projet. Malheureusement, l'installation de l'ancien MVC bits n'a pas changé. Visual Studio 2012 est compatible avec la ASP.NET MVC 3 et 4 du projet de saveurs. Visual Studio 2013 est compatible avec MVC MVC 4 et 5.

Pour que le projet de la charge, vous devez modifier le fichier de projet. Pour ce faire clic droit sur le projet déchargé et sélectionnez Modifier. Ce qui va ouvrir le fichier de projet XML fichier texte. Trouver l' ProjectTypeGuids nœud qui devrait ressembler à quelque chose comme ceci:

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

Retirer le Projet Guid de la liste:

  • ASP.NET MVC 1: {603c0e0b-db56-11dc-be95-000d561079b0}
  • ASP.NET MVC 2: {F85E285D-A4E0-4152-9332-AB1D724D3325} (montré dans l'exemple ci-dessus)
  • ASP.NET MVC 3: {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • ASP.NET MVC 4: {E3E379DF-F4C6-4180-9B81-6769533ABE47}

Avec le GUID supprimé l' ProjectTypeGuids devrait ressembler à ceci:

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

Enregistrez le fichier et fermez le fichier de projet Visual Studio de l'éditeur. Cliquez-droit sur le projet et sélectionnez recharger. Si le projet n'a pas de rechargement de fermer et de rouvrir Visual Studio. Vous devriez maintenant être en mesure de travailler avec votre ancien ASP.NET projet MVC dans votre nouvelle version de Visual Studio.

Une chose importante à noter est que, après ces modifications Visual Studio n'est pas conscient que c'est un ASP.NET projet MVC; par conséquent, le projet de fonctionnalités spécifiques comme "Ajouter un Contrôleur, Vue etc...." ne sera pas présent dans les menus.

4voto

Ruben Bartelink Points 23945

J'ai utilisé @ahsteele approche grâce et 2x+1!), mais, c'était d'avoir une autre erreur:-

.csproj : erreur : L'opération n'a pas pu être terminée. Chaîne de classe non valide

Je ne trouve pas de citations pour la vraie cause de ça, mais j'ai été en mesure d'obtenir VS2012RTM pour charger le projet avec succès par la modification de la <ProjectGuid>. (Aucune idée de comment cela s'est passé - ses le cadre d'une solution de grande envergure et VS08, VS10, VS11 Bêta et VS2012RC ont tous mis l' .csproj et .sln fil du temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X