Verwenden von nativen Zielversionen in Visual Studio, um alte Projekte zu erstellenUse native multi-targeting in Visual Studio to build old projects

Normalerweise wird empfohlen, dass Sie Ihre Projekte aktualisieren, wenn Sie die neueste Version von Visual Studio installieren.Normally, we recommend that you update your projects when you install the latest version of Visual Studio. Die Kosten der Aktualisierung Ihrer Projekte und des Codes werden in der Regel durch die Vorteile der neuen IDE, des Compilers, der Bibliotheken und Tools ausgeglichen.The cost of updating your projects and code is usually more than offset by the benefits of the new IDE, compiler, libraries, and tools. Wir wissen jedoch, dass Sie einige Projekte möglicherweise nicht aktualisiert können.However, we know that you may not be able to update some projects. Sie verfügen möglicherweise über Binärdaten, die mit älteren Bibliotheken oder Plattformen verknüpft sind, die Sie aus Wartungsgründen nicht upgraden können.You may have binaries that are tied to older libraries or platforms that for maintenance reasons you can’t upgrade. Ihr Code kann womöglich nicht standardmäßige Sprachkonstrukte verwenden, die Fehler verursachen würden, wenn sie an einen aktuelleren Compiler verschoben werden würden.Your code may use non-standard language constructs that would break if you moved to a more recent compiler. Ihr Code könnte sich auf Bibliotheken eines Drittanbieters verlassen, die für eine bestimmte Version von Visual C++ kompiliert sind.Your code might rely on 3rd party libraries compiled for a specific version of Visual C++. Alternativ können Sie Bibliotheken für andere erstellen, die auf eine bestimmte ältere Version von Visual C++ abzielen müssen.Or you may produce libraries for others that must target a specific older version of Visual C++.

Glücklicherweise können Sie zum Erstellen von Projekten, die auf ältere Compiler-Toolsets und Bibliotheken ausgerichtet sind, Visual Studio 2017 und Visual Studio 2015 verwenden.Fortunately, you can use Visual Studio 2017 and Visual Studio 2015 to build projects that target older compiler toolsets and libraries. Sie müssen kein Projekt von Visual Studio 2010, Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015 upgraden, um Vorteile aus den neuen Features der IDE zu ziehen:You don't have to upgrade a Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, or Visual Studio 2015 project to take advantage of new features in the IDE:

  • Neue Umgestaltungsfunktionen für C++ und experimentelle Funktionen für den EditorNew C++ refactoring capabilities and editor experimental features
  • Neues Debuggerfenster „Diagnosetools“ und neues Fenster „Fehlerliste“New Diagnostics tools debugger window and Error List window
  • Überarbeitete Breakpoints, das Fenster „Ausnahmen“ und neue PerfTipsRevamped breakpoints, exceptions window and new PerfTips
  • Neue Tools zur Codenavigation und SucheNew code navigation and search tools
  • Neue C++-Schnellkorrekturen und Erweiterungen für Productivity Power ToolsNew C++ Quick fixes and the Productivity Power Tools extensions.

Sie können auch auf Visual Studio 2008-Projekte abzielen, doch diese können nicht unverändert verwendet werden.You can also target Visual Studio 2008 projects, but they can't be used unchanged. Weitere Informationen finden Sie im Abschnitt Anweisungen für Visual Studio 2008.For details, see the Instructions for Visual Studio 2008 section.

Die neuesten Versionen von Visual Studio unterstützen die native Festlegung von Zielversionen und Roundtripping für Projekte.The latest versions of Visual Studio support native multi-targeting and round-tripping of projects. Die native Festlegung von Zielversionen ist Möglichkeit der neuesten IDE für die Entwicklung mithilfe von Toolsets, die von vorherigen Versionen von Visual Studio installiert wurden.Native multi-targeting is the ability of the latest IDE to build using toolsets installed by previous versions of Visual Studio. Die Roundtrip-Funktion ist die Fähigkeit der neuesten IDE, ohne jede Änderung an dem Projekt eine frühere Version der IDE erstellte Projekte zu laden.Round-tripping is the ability of the latest IDE to load projects created by a previous IDE version without making any changes to the project. Wenn Sie die neueste Version von Visual Studio zusammen mit Ihrer aktuellen Version installieren, können Sie die neue Version der IDE mit dem Compiler und den Tools aus der aktuellen Version verwenden, um Ihre Projekte zu erstellen.If you install the latest version of Visual Studio side-by-side with your existing version, you can use the new version of the IDE with the compiler and tools from the existing version to build your projects. Andere Mitglieder Ihres Teams können weiterhin die Projekte in der älteren Version von Visual Studio verwenden.Other members of your team can continue to use the projects in the older version of Visual Studio.

Wenn Sie ein älteres Toolset verwenden, können Sie von vielen der neuesten IDE-Features profitieren, jedoch nicht von den neuesten Fortschritten im C++-Compiler, in den Bibliotheken und Buildtools.When you use an older toolset, you can take advantage of many of the latest IDE features, but not the latest advances in the C++ compiler, libraries and build tools. Sie können z.B. nicht die neuen verbesserten Sprachübereinstimmungen sowie die neuen Features für das Debuggen und zur Codeanalyse. Ebenso erhalten Sie nicht den schnelleren Builddurchsatz des neuesten Toolsets.For example, you won't be able to use the new language conformance improvements, new debugging and code analysis features, or get the faster build throughput of the latest toolset. Es gibt auch einige IDE-Funktionen, die mit älteren Toolsets nicht kompatibel sind.There are also some IDE features that are incompatible with older toolsets. Es können z.B. Typinformationen im neuen Memory Profiler fehlen, und der Umgestaltungsvorgang Convert to Raw string literals (In unformatierte Zeichenfolgenliterale konvertieren) generiert C++11-konformen Code, der nicht kompiliert werden kann, wenn Sie Toolsets aus Visual Studio 2012 oder älter verwenden.For example, type information may be missing in the Memory Profiler, and the refactoring operation Convert to Raw string literals generates C++11-compliant code that won't compile when you use Visual Studio 2012 or older toolsets.

So verwenden Sie die native Festlegung von Zielversionen in Visual StudioHow to use native multi-targeting in Visual Studio

Nachdem Sie Visual Studio parallel mit Ihrer älteren Version installiert haben, öffnen Sie Ihr vorhandenes Projekt in der neuen Visual Studio-Version.Once you have installed Visual Studio side-by-side with your older version, open your existing project in the new version of Visual Studio. Wenn das Projekt geladen wird, fragt Visual Studio Sie, ob sie die Version für die Verwendung des neuesten C++-Compilers und der C++-Bibliotheken upgraden möchten.When the project is loaded, Visual Studio asks you whether you want to upgrade it to use the latest C++ compiler and libraries. Da Sie möchten, dass das Projekt den alten Compiler und die alten Bibliotheken behält, klicken Sie auf die Schaltfläche Abbrechen.Since you want the project to keep the older compiler and libraries, choose the Cancel button.

Visual Studio upgradet weiterhin Ihr Projekt.Visual Studio is persistent about upgrading your project. Damit das Dialogfeld zum Upgraden nicht jedes Mal erscheint, wenn Sie das Projekt laden, können Sie die folgende Eigenschaft in Ihren Projekten oder in den PROPS- oder TARGET-Dateien, die von ihnen importiert werden, definieren.To avoid seeing the upgrade dialog every time you load the project, you can define the following property in your projects, or in the .props or .targets files they import:

<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>

Wenn Sie Ihre Projekte upgraden möchten, müssen Sie diese Eigenschaft entfernen.You must remove this property when you want to upgrade your projects.

Wenn Sie kein Upgrade durchführen möchten, führt Visual Studio keine Änderungen an Ihrer Projektmappe oder den Projektdateien durch.If you choose not to upgrade, Visual Studio makes no changes to your solution or project files. Wenn Sie das Projekt erstellen, werden die generierten Binärdateien vollständig kompatibel mit jenen, die Sie mit der älteren Version von Visual Studio erstellt haben.When you build the project, the generated binaries are fully compatible with the ones you built with the older version of Visual Studio. Der Grund dafür ist, da Visual Studio den gleiche C++-Compiler verwendet und die gleichen Bibliotheken verknüpft, mit der Ihre ältere IDE ausgestattet war.This is because Visual Studio uses the same C++ compiler and links the same libraries that your older IDE shipped with. Darum weist das Dialogfeld für das Upgrade Sie auch darauf hin, die ältere Visual Studio-Version zu behalten, wenn Sie auf Abbrechen klicken.That is also why the upgrade dialog warns you to keep the older Visual Studio version installed if you choose Cancel.

Anweisungen für Visual Studio 2008Instructions for Visual Studio 2008

Visual Studio 2008 verfügte über ein eigenes dediziertes Buildsystem für C++ mit dem Namen VCBuild.Visual Studio 2008 had its own dedicated build system for C++ called VCBuild. Ab Visual Studio 2010 wurden Visual C++-Projekte so verändert, dass sie fortan MSBuild verwendeten.Starting in Visual Studio 2010, Visual C++ projects were changed to use MSBuild. Dies bedeutet, dass Sie ein Update durchführen müssen, damit Sie Ihre Visual Studio 2008-Projekte in der neuesten Visual Studio-Version erstellen können.This means that you must go through an update step to build your Visual Studio 2008 projects in the latest version of Visual Studio. Ihr aktualisiertes Projekt erstellt noch immer Binärdateien, die mit den Binärdateien, die mithilfe der IDE von Visual Studio 2008 erstellt wurden, voll kompatibel sind.Your updated project still generates binaries that are fully compatible with binaries created using the Visual Studio 2008 IDE.

Zunächst müssen Sie zusätzlich zur aktuellen Visual Studio-Version Visual Studio 2010 auf demselben Computer erstellen, auf dem sich Visual Studio 2008 befindet.First, in addition to the current version of Visual Studio, you must install Visual Studio 2010 on the same computer as Visual Studio 2008. Nur Visual Studio 2010 installiert die MSBuild-Skripts, die für Visual Studio 2008-Projekte erforderlich sind.Only Visual Studio 2010 installs the MSBuild scripts that are required to target Visual Studio 2008 projects.

Als Nächstes müssen Sie Ihre Visual Studio 2008-Projektmappen und -Projekte auf die aktuelle Version von Visual Studio aktualisieren.Next, you must update your Visual Studio 2008 solution and projects to the current version of Visual Studio. Es wird empfohlen, eine Sicherung Ihrer Projekt- und Projektmappendateien zu erstellen, bevor Sie das Upgrade durchführen.We recommend you create a backup of your projects and solution files before the upgrade. Damit der Upgradeprozess beginnen kann, öffnen Sie die Projektmappe in der aktuellen Version von Visual Studio.To start the upgrade process, open the solution in the current version of Visual Studio. Wenn Sie die Aufforderung zur Aktualisierung erhalten, überprüfen Sie die dargestellte Information, und wählen Sie dann OK aus, um mit dem Upgrade zu beginnen.When you get the upgrade prompt, review the information presented, and then choose OK to start the upgrade. Wenn Sie mehr als ein Projekt in der Projektmappe haben, müssen Sie den Assistenten zum Erstellen neuer VCXPROJ-Projektdateien parallel mit den vorhandenen VCPROJ-Dateien aktualisieren.If you have more than one project in the solution, you must update The wizard creates new .vcxproj project files side-by-side with the existing .vcproj files. Solange Sie noch über eine Kopie der ursprünglichen SLN-Datei verfügen, hat das Upgrade keinen anderen Einfluss auf Ihre vorhandenen Visual Studio 2008-Projekte.As long as you also have a copy of the original .sln file, the upgrade has no other impact on your existing Visual Studio 2008 projects.

Wenn das Upgrade abgeschlossen ist und der Protokollbericht Fehler oder Warnungen für Ihre Projekte ausgibt, überprüfen Sie diese sorgfältig.When the upgrade completes, if the log report has errors or warnings for any of your projects, review them carefully. Die Konvertierung von VCBuild in MSBuild kann Probleme verursachen.The conversion from VCBuild to MSBuild can cause issues. Stellen Sie sicher, dass Sie alle Aktionselemente verstehen und implementieren, die im Bericht aufgeführt sind.Make sure you understand and implement any action items listed in the report. Weitere Informationen zum Upgradeprotokollbericht und zu Problemen, die womöglich bei der Konvertierung von VCBuild in MSBuild auftreten, finden Sie im Blogpost: C++ Native Multi-Targeting (Native Festlegung von Zielversionen für C++).For more information on the upgrade log report and issues that may occur when converting VCBuild to MSBuild, see this C++ Native Multi-Targeting blog post.

Wenn das Projektupgrade abgeschlossen ist, und Sie alle Probleme in der Protokolldatei behoben haben, ist Ihre Lösung tatsächlich auf das neueste Toolset ausgerichtet.When the project upgrade is completed, and you have corrected any issues in the log file, your solution actually targets the latest toolset. Als letzten Schritt ändern Sie die Eigenschaften für jedes Projekt in der Projektmappe, um das Toolset von Visual Studio 2008 zu verwenden.As the final step, change the properties for each project in the solution to use the Visual Studio 2008 toolset. Laden Sie die Projektmappe in der aktuellen Version von Visual Studio, und öffnen Sie für jedes Projekt in der Projektmappe die Eigenschaftenseiten des Projekts: Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie anschließend auf Eigenschaften.With the solution loaded in the current version of Visual Studio, for each project in the solution, open the Project Property Pages dialog box: Right-click on the project in Solution Explorer and then select Properties. Ändern Sie im Dialogfeld Eigenschaftenseiten den Wert der Dropdownliste Konfiguration in Alle Konfigurationen.In the Property Pages dialog box, change the Configuration drop-down value to All Configurations. Wählen Sie unter Konfigurationseigenschaftendie Option Allgemein aus, und ändern Sie dann Plattformtoolset in Visual Studio 2008 (v90).In Configuration Properties, select General, and then change Platform Toolset to Visual Studio 2008 (v90).

Nach dieser Änderung wird der Visual Studio 2008-Compiler und die -Bibliotheken zum Generieren von Projektbinärdateien verwendet, wenn Sie die Projektmappe in der aktuellen Version von Visual Studio erstellen.After this change, the Visual Studio 2008 compiler and libraries are used to generate project binaries when you build the solution in the current version of Visual Studio.

Installieren eines älteren Visual Studio-ToolsetsInstall an older Visual Studio toolset

Sie besitzen womöglich ein älteres Visual C++-Projekt, dass Sie nicht upgraden können oder wollen. Sie verfügen jedoch nicht über die Plattformtoolsetversion, die mit Ihrem Projekt übereinstimmt.You may have an old Visual C++ project that you can't or don't want to upgrade, but not the platform toolset version that matches your project. Um das Toolset zu erhalten, können Sie in diesem Fall die kostenlose Visual Studio Community- oder Express-Edition der von Ihnen benötigten Version installieren.In this case, to get the toolset, you can install the free Visual Studio Community or Express edition of the version you need. Jede Version von Visual Studio ab Visual Studio 2008 kann den Compiler, die Tools und Bibliotheken installieren, die auf diese Version der aktuellen Visual Studio-Version ausgerichtet sein muss.Every version of Visual Studio from Visual Studio 2008 on can install the compiler, tools, and libraries you need to target that version from the current Visual Studio. Durchsuchen Sie das Microsoft Download Center, um eine bestimmte Visual Studio-Version zu finden und herunterzuladen.Search the Microsoft Download Center to find and download a particular version of Visual Studio. Stellen Sie sicher, dass Sie die C++-Installationsoptionen während des Setups auswählen.Make sure you choose the C++ installation options during setup. Führen Sie nach dem Abschluss des Setups diese Visual Studio-Version aus, um Updates zu installieren.After setup completes, run that version of Visual Studio to install any updates. Prüfen Sie auch auf mögliche Windows Update-Änderungen, die erforderlich sein könnten.Also check for any Windows Update changes that might be required. Dieser Updateüberprüfungsprozess muss möglicherweise mehrmals wiederholt werden, damit Sie jedes Update erhalten.This update check process may need to be repeated more than once to get every update.

Die derzeit verfügbaren Downloads, finden Sie unter Herunterladen älterer Visual Studio-Software.For the currently available downloads, see Download older Visual Studio software.

Wenn diese Produkte installiert sind, wird die Eigenschaftendropdownliste Plattformtoolset im Dialogfeld Eigenschaftenseiten automatisch aktualisiert, um die verfügbaren Toolsets anzuzeigen.When these products are installed, the Platform Toolset property drop-down in the Property Pages dialog box is automatically updated to show the available toolsets. Sie können jetzt die neueste Version von Visual Studio verwenden, um Projekte für diese älteren Versionen des Toolsets zu erstellen, ohne sie zu konvertieren oder zu aktualisieren.You can now use the latest version of Visual Studio to build projects for those older versions of the toolset without converting or upgrading them.

Siehe auchSee also

Aktualisieren von Projekten von früheren Versionen von Visual C++Upgrading Projects from Earlier Versions of Visual C++
Verbesserungen der C++-Konformität in Visual StudioC++ conformance improvements in Visual Studio