wake-up-neo.com

Wie öffne ich ein altes MVC-Projekt in Visual Studio 2012 oder Visual Studio 2013?

Ich habe ein altes ASP.NET MVC 2-Projekt, das ich nicht auf MVC 3 oder MVC 4 aktualisieren möchte. Ich arbeite auf einem neuen Computer mit Windows 8, Visual Studio 2012 und Visual Studio 2013. Wenn ich versuche, MVC zu öffnen 2 Projekt in VS 2012 oder VS 2013 Ich erhalte die Fehlermeldung:

Dieses Projekt ist mit der aktuellen Edition von Visual Studio nicht kompatibel

Das Projekt wird dann im Projektmappen-Explorer entladen und ausgegraut. Ich möchte keine weitere Kopie von Visual Studio installieren. Wie kann ich ein altes MVC-Projekt in einer neuen Version von Visual Studio öffnen?

152
ahsteele

Das Öffnen eines nicht unterstützten MVC-Projekts in Visual Studio 2012 oder Visual Studio 2013 ist in zwei Schritten relativ einfach. Tatsächlich gelten, wie Bytebenders Kommentar angibt , dieselben Schritte sollte für und funktionieren für MVC 1 Projekte. Ich habe sie jedoch nicht getestet und kann daher nicht garantieren, dass sie tatsächlich funktionieren.

Angenommen, Sie haben dies noch nicht getan. In Schritt 1 müssen Sie MVC 1 , MVC 2 oder MVC herunterladen und installieren (schließen Sie Visual Studio, bevor Sie beginnen die Installation).

Sobald Sie die entsprechende Version von MVC installiert haben, wird das Projekt in VS 2012 immer noch nicht geladen. Dies liegt daran, dass ASP.NET MVC-Projekte ein Projektuntertyp des Webanwendungsprojekttyps sind. Dies bedeutet, dass dem Projekt zusätzliche Add-Ins und Funktionen zur Verfügung stehen, wenn es in Visual Studio verwendet wird.

Sowohl Visual Studio 2012 als auch Visual Studio 2013 sind in ihrer Abwärtskompatibilität mit ASP.NET MVC und anderen Projekttypen eingeschränkt. Leider hat die Installation der alten MVC-Bits dies nicht geändert. Visual Studio 2012 ist kompatibel mit den ASP.NET MVC 3- und 4-Projektvarianten. Visual Studio 2013 ist kompatibel mit MVC 4 und MVC 5.

Um das Projekt zum Laden zu bringen, müssen Sie die Projektdatei ändern. Klicken Sie dazu mit der rechten Maustaste auf das entladene Projekt und wählen Sie Bearbeiten. Dadurch wird die Projektdatei als XML-Textdatei geöffnet. Suchen Sie den Knoten ProjectTypeGuids, der ungefähr so ​​aussehen sollte:

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

Entfernen Sie die entsprechende Projekt-Guid aus der Liste:

  • ASP.NET MVC 1: {603c0e0b-db56-11dc-be95-000d561079b0}
  • ASP.NET MVC 2: {F85E285D-A4E0-4152-9332-AB1D724D3325} (siehe Beispiel oben)
  • ASP.NET MVC 3: {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • ASP.NET MVC 4: {E3E379DF-F4C6-4180-9B81-6769533ABE47}

Wenn die entsprechende GUID entfernt wurde, sollte das ProjectTypeGuids ungefähr so ​​aussehen:

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

Speichern Sie die Datei, und schließen Sie den Visual Studio-Projektdatei-Editor. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Neu laden. Wenn das Projekt nicht neu geladen wird, schließen Sie Visual Studio und öffnen Sie es erneut. Sie sollten jetzt in der Lage sein, mit Ihrem alten ASP.NET MVC-Projekt in Ihrer neuen Version von Visual Studio zu arbeiten.

Beachten Sie, dass Visual Studio nach diesen Änderungen nicht weiß, dass es sich um ein ASP.NET MVC-Projekt handelt. daher die projektspezifischen Features wie "Add Controller, View etc." wird nicht in Menüs vorhanden sein.

290
ahsteele

Ich habe @ ahsteeles Ansatz verwendet (danke und 2x + 1s!), Hatte aber einen weiteren Fehler: -

.csproj: Fehler: Der Vorgang konnte nicht abgeschlossen werden. Ungültige Klassenzeichenfolge

Ich kann keine Zitate für die wahre Ursache dafür finden, aber ich konnte VS2012RTM dazu bringen, das Projekt erfolgreich zu laden, indem ich den <ProjectGuid> Änderte. (Keine Ahnung, wie dies passiert ist - sein Teil einer großen Lösung und VS08, VS10, VS11 Beta und VS2012RC haben im Laufe der Zeit alle die Optionen .csproj Und .sln Aktualisiert.

4
Ruben Bartelink

In VS2017 besteht die Lösung darin, es einfach so zu machen wie <ProjectTypeGuids></ProjectTypeGuids> so.

Keine Zwischenräume zwischen Damen und Herren, sonst werden 48 Stunden Ihrer Zeit verschwendet.

Grüße

0
WickStargazer