Aktualisieren von C++-Projekten von früheren Versionen Visual Studio

Um ein Projekt zu aktualisieren, das in einer früheren Version von Visual Studio wurde, öffnen Sie einfach das Projekt in der neuesten Version von Visual Studio. Visual Studio bietet ein Upgrade des Projekts auf das aktuelle Schema an.

Wenn Sie Nein auswählen, wird das Projekt nicht aktualisiert. Für Projekte, die in Visual Studio 2010 und höher erstellt wurden, können Sie das Projekt weiterhin in der neueren Version von Visual Studio. Legen Sie einfach Ihre Projekteigenschaften fest, um das ältere Toolset weiterhin als Ziel zu verwenden. Wenn Sie die ältere Version von Visual Studio auf Ihrem Computer be lassen, ist das Toolset in späteren Versionen verfügbar. Wenn Ihr Projekt beispielsweise weiterhin auf Windows XP ausgeführt werden muss, können Sie ein Upgrade auf Visual Studio 2019 durchführen. Anschließend geben Sie das Toolset als v141_xp oder früher in den Projekteigenschaften an. Weitere Informationen finden Sie unter Use native multi-targeting in Visual Studio to build old projects (Verwenden der nativen Festlegung von Zielversionen in Visual Studio, um alte Projekte zu erstellen).

Wenn Sie Ja auswählen, wird das Projekt aktualisiert. Sie kann nicht zurück in die frühere Version konvertiert werden. In Upgradeszenarien ist es daher eine bewährte Methode, eine Sicherungskopie der vorhandenen Projekt- und Projektmappendateien zu erstellen.

Aktualisieren von Berichten

Wenn Sie ein Projekt aktualisieren, erhalten Sie einen Upgradebericht. Der Bericht wird auch in Ihrem Projektordner als UpgradeLog.htm. Der Upgradebericht enthält eine Zusammenfassung der Probleme, die während der Konvertierung gefunden wurden. Es werden einige Informationen zu vorgenommenen Änderungen aufgeführt, z. B.:

  • Project Eigenschaften.

  • Schließen Sie Dateien ein.

  • Code, der aufgrund von Verbesserungen der Compilerkonformität oder Änderungen im Standard nicht mehr sauber kompiliert wird.

  • Code, der auf Visual Studio oder Windows, die nicht mehr verfügbar sind. Oder Headerdateien, die entweder nicht in einer Standardinstallation von Visual Studio enthalten sind oder aus dem Produkt entfernt wurden.

  • Code, der aufgrund von Änderungen an APIs wie umbenannten APIs, geänderten Funktionssignaturen oder veralteten Funktionen nicht mehr kompiliert wird.

  • Code, der aufgrund von Änderungen an der Diagnose nicht mehr kompiliert wird, z. B. eine Warnung, die zu einem Fehler wird

  • Linkerfehler aufgrund von Bibliotheken, die geändert wurden, insbesondere wenn /NODEFAULTLIB verwendet wird.

  • Laufzeitfehler oder unerwartete Ergebnisse aufgrund von Verhaltensänderungen.

  • Fehler, die in den Tools eingeführt wurden. Wenn Sie ein Problem finden, melden Sie es dem Visual C++-Team über Ihre normalen Supportkanäle oder über die Visual Studio C++-Entwicklerseite Community.

Einige aktualisierte Projekte und Projektlösungen können ohne Änderungen erfolgreich erstellt werden. Die meisten Projekte erfordern jedoch wahrscheinlich Änderungen sowohl an den Projekteinstellungen als auch am Quellcode. Es gibt keine einzige richtige Möglichkeit, diese Probleme zu beheben, aber es wird empfohlen, einen Ansatz in Phasen zu verwenden. Bevor Sie beginnen, lesen Sie Übersicht über potenzielle Upgradeprobleme, um weitere Informationen zu vielen Arten von häufigen Fehlern zu erhalten.

  1. Legen Sie Plattformtoolset, C++-Sprachstandard und Windows SDK-Version (falls zutreffend) auf die bevorzugten Versionen fest. (Project > Eigenschaften > Konfigurationseigenschaften > Allgemein)

  2. Wenn viele Fehler auftreten, können Sie einige Optionen vorübergehend deaktivieren, während Sie sie beheben. Um die Option zu /permissive- deaktivieren, verwenden Sie Project > Eigenschaftenkonfigurationseigenschaften > > C/C++-Sprache > . Um die Codeanalyseoption zu deaktivieren, verwenden Sie Project > Eigenschaftenkonfigurationseigenschaften > > Code Analysis.

  3. Stellen Sie sicher, dass alle Abhängigkeiten vorhanden sind und die Includepfade oder Bibliothekspfade korrekt sind. (Project > Eigenschaften > Konfigurationseigenschaften > VC++ Verzeichnisse)

  4. Identifizieren und beheben Sie Fehler, die durch Verweise auf APIs verursacht werden, die nicht mehr vorhanden sind.

  5. Beheben Sie alle verbleibenden Fehler, die die Kompilierung verhindern. Korrekturen für häufige Fehler finden Sie unter Übersicht über potenzielle Upgradeprobleme.

  6. Aktivieren Und beheben Sie alle neuen Fehler, die durch nicht konformen Code verursacht wurden, der /permissive- zuvor in MSVC.

  7. Aktivieren Sie die Codeanalyse, um potenzielle Probleme oder veraltete Codierungsmuster zu identifizieren, die nicht mehr als akzeptabel angesehen werden. Wenn die Codeanalyse viele Fehler kennzeichnet, können Sie einige der Warnungen deaktivieren, um sich zuerst auf die wichtigsten zu konzentrieren. Die IDE kann bei einigen Arten von Problemen bei der Schnellen Problembehebung helfen.

  8. Berücksichtigen Sie andere Möglichkeiten zur Modernisierung des Codes. Ersetzen Sie beispielsweise benutzerdefinierte Datenstrukturen und Algorithmen durch Diejenigen aus der C++-Standardbibliothek oder der Boost-Open-Source-Bibliothek. Durch die Verwendung von Standardfeatures erleichtern Sie anderen die Wartung des Codes. Sie können sicher sein, dass dieser Code von vielen Experten im Standards committee und in der breiteren C++-Community gut getestet und überprüft wurde.

Bei schwer zu behebenden Fehlern können Sie nach Lösungen suchen oder eine Frage in Microsoft-Dokumentation Q&A stellen. Wenn Sie Probleme mit dem C++-Compiler und den C++-Tools haben, besuchen Sie die C++-Community-Website.

In diesem Abschnitt

Übersicht über potenzielle Upgradeprobleme
Aktualisieren Ihres Codes auf die universelle CRT
Aktualisieren von WINVER und _WIN32_WINNT
Korrigieren Ihrer Abhängigkeiten von Bibliotheksinternen
Probleme bei der Gleitkommamigration
C++-Features sind seit Visual Studio 2019 veraltet.
VCBuild im Vergleich zu MSBuild
Portieren von Drittanbieterbibliotheken

Siehe auch

Neuerungen bei Visual C++ in Visual Studio
Visual C++ Änderungsverlauf 2003 bis 2015
Nicht standardmäßiges Verhalten
Portieren von Datenanwendungen