Upgrade projektů C++ ze starších verzí Visual Studio

Pokud chcete upgradovat projekt vytvořený ve starší verzi Visual Studio, stačí projekt otevřít v nejnovější verzi Visual Studio. Visual Studio nabízí upgrade projektu na aktuální schéma.

Pokud zvolíte Ne,nebude se projekt upgradovat. Pro projekty vytvořené v Visual Studio 2010 a novějších verzích můžete projekt stále používat v novější verzi Visual Studio. Pokud chcete dál cílit na starší sadu nástrojů, stačí nastavit vlastnosti projektu. Pokud ve svém počítači necháte starší Visual Studio, bude tato sada nástrojů dostupná v novějších verzích. Pokud například váš projekt musí dál běžet na Windows XP, můžete upgradovat na Visual Studio 2019. Pak zadáte sady nástrojů jako v141_xp nebo dříve ve vlastnostech projektu. Další informace najdete v tématu Použití nativního cílení navíce verzí Visual Studio vytváření starých projektů .

Pokud zvolíte Ano,projekt se upgradune na místě. Nelze ho převést zpět na starší verzi. Ve scénářích upgradu je proto vhodné vytvořit záložní kopii existujících souborů projektu a řešení.

Upgrade sestav

Při upgradu projektu se zobrazí sestava upgradu. Sestava se také uloží do složky projektu jako UpgradeLog.htm. Sestava upgradu zobrazuje souhrn problémů, které se během převodu zjistily. Obsahuje některé informace o provedených změnách, mezi které patří:

  • Project vlastnosti.

  • Zahrnout soubory.

  • Kód, který se už nekompiluje čistě kvůli vylepšením nebo změnám standardu v souladu s kompilátorem.

  • Kód, který závisí na Visual Studio nebo Windows funkcí, které už nejsou k dispozici. Nebo hlavičkové soubory, které buď nejsou zahrnuté ve výchozí instalaci Visual Studio, nebo byly z produktu odebrány.

  • Kód, který se už nekompiluje kvůli změnám v rozhraních API, jako jsou přejmenovaná rozhraní API, signatury změněných funkcí nebo zastaralé funkce.

  • Kód, který se už nekompiluje kvůli změnám diagnostiky, jako je například upozornění, které se stává chybou

  • Chyby linkeru kvůli změněné knihovně, zejména při použití knihovny /NODEFAULTLIB.

  • Chyby za běhu nebo neočekávané výsledky kvůli změnám chování

  • Chyby, které byly zavedeny v nástrojích. Pokud najdete problém, nahlásit ho týmu Visual C++ prostřednictvím normálních kanálů podpory nebo pomocí stránky Visual Studio C++ Developer Community.

Některé upgradované projekty a řešení je možné úspěšně vytvořit beze změn. Většina projektů ale bude pravděpodobně vyžadovat změny nastavení projektu i zdrojového kódu. Neexistuje jediný správný způsob, jak tyto problémy vyřešit, ale doporučujeme použít fázový přístup. Než začnete, další informace o mnoha typech běžných chyb najdete v tématu Přehled potenciálních problémů s upgradem.

  1. Nastavte sadu nástrojů platformy, jazyk C++ Standard a Windows SDK (pokud je k dispozici) na preferované verze. (ProjectvlastnostikonfiguraceObecné)

  2. Pokud dochází k mnoha chybám, můžete během oprav dočasně vypnout některé možnosti. Pokud chcete tuto možnost /permissive- vypnout, použijte /permissive->>>>>>>> Pokud chcete vypnout možnost analýzy kódu, použijte ProjectvlastnostikonfiguraceCode Analysis.

  3. Ujistěte se, že jsou přítomné všechny závislosti a že cesty k zahrnutí nebo umístění knihoven jsou správné. (Projectvlastnosti konfiguraceAdresářeVC++)

  4. Identifikujte a opravte chyby způsobené odkazy na rozhraní API, která už neexistují.

  5. Opravte všechny zbývající chyby, které brání kompilaci. Opravy běžných chyb najdete v tématu Přehled potenciálních problémů s upgradem.

  6. Znovu zapněte a opravte všechny nové chyby způsobené nevyhovujícím kódem, který byl dříve zkompilován /permissive- v MSVC.

  7. Zapněte analýzu kódu a identifikujte potenciální problémy nebo zastaralé vzory kódování, které se už nepovažují za přijatelné. Pokud analýza kódu označí mnoho chyb, můžete některá upozornění vypnout a zaměřit se nejprve na ty nejdůležitější. Integrované vývojové prostředí (IDE) může pomoct s rychlými opravami některých druhů problémů.

  8. Zvažte další příležitosti pro modernizaci kódu. Například vlastní datové struktury a algoritmy nahraďte vlastními datovými strukturami ze standardní knihovny jazyka C++ nebo open source knihovnou Boost. Používáním standardních funkcí usnadníte ostatním správu kódu. Můžete si být jistí, že tento kód byl dobře otestován a přezkoumán mnoha odborníky na standardy a širší komunitu C++.

V případě chyb, které se těžko opraví, můžete vyhledat řešení nebo odeslat dotaz Microsoft Docs Q A. V případě problémů s kompilátorem a nástroji C++ vyzkoušejte web C++ Developer Community webu.

V této části

Přehled potenciálních problémů s upgradem
Upgrade kódu na Universal CRT
Aktualizace maker WINVER a _WIN32_WINNT
Oprava závislostí u interních informací o knihovně
Problémy migrace s plovoucí desetinnou čárkou
Zastaralé funkce C++ v sadě Visual Studio 2019
VCBuild vs. MSBuild
Portování knihoven třetích stran

Viz také

Co je nového pro Visual C++ v Visual Studio
Historie změn Visual C++ 2003–2015
Nestandardní chování
Portování datových aplikací