Sestavení starých projektů v sadě Visual Studio pomocí nativního cílení na více verzí
Za normálních okolností doporučujeme aktualizovat projekty při instalaci nejnovější verze Visual Studio. Náklady na aktualizaci projektů a kódu jsou obvykle větší než kompenzace výhod nového integrovaného vývojového prostředí (IDE), kompilátoru, knihoven a nástrojů. Víme ale, že některé projekty možná nebudete moct aktualizovat. Možná máte binární soubory vázané na starší knihovny nebo platformy, které kvůli údržbě nemůžete upgradovat. Váš kód může používat nestandardní jazykové konstrukce, které by se porušily, pokud byste přešel na novější kompilátor. Váš kód může spoléhat na knihovny třetích stran zkompilované pro konkrétní verzi Visual C++. Nebo můžete vytvářet knihovny pro ostatní, které musí cílit na konkrétní starší verzi Visual C++.
Naštěstí můžete použít nástroje Visual Studio 2017 a Visual Studio 2015 k sestavení projektů, které cílí na starší sady nástrojů a knihovny kompilátoru. Abyste v integrovaném vývojovém prostředí (IDE) využili nové funkce, nemusíte upgradovat projekt Visual Studio 2010, Visual Studio 2012, Visual Studio 2013 nebo Visual Studio 2015:
- Nové možnosti refaktoringu C++ a experimentální funkce editoru
- Nové okno ladicího programu diagnostických nástrojů a Seznam chyb okno
- Přepracované zarážky, okno výjimek a nové popisy perftip
- Nové nástroje pro navigaci a vyhledávání kódu
- Nové rychlé opravy C++ a rozšíření Productivity Power Tools
Můžete také cílit na Visual Studio 2008 projektů, ale nelze je použít beze změny. Podrobnosti najdete v části Pokyny pro Visual Studio 2008.
Nejnovější verze Visual Studio podporují nativní cílení na více verzí a přemístění projektů. Nativní cílení na více verzí je schopnost nejnovějšího integrovaného vývojového prostředí (IDE) sestavovat pomocí sad nástrojů nainstalovaných předchozími Visual Studio. Round-tripping je schopnost nejnovějšího integrovaného vývojového prostředí (IDE) načítat projekty vytvořené předchozí verzí integrovaného vývojového prostředí (IDE) bez provedení jakýchkoli změn projektu. Pokud instalujete nejnovější verzi Visual Studio vedle stávající verze, můžete k sestavení projektů použít novou verzi integrovaného vývojového prostředí (IDE) s kompilátorem Visual Studio nástroji z existující verze. Ostatní členové vašeho týmu mohou dál používat projekty ve starší verzi Visual Studio.
Při použití starší sady nástrojů můžete využít výhody mnoha nejnovějších funkcí ide, ale ne nejnovějších pokroků v kompilátoru, knihovnách a nástrojích sestavení jazyka C++. Nebudete například moct používat nová vylepšení v souladu s jazykem, nové funkce ladění a analýzy kódu ani získat rychlejší propustnost sestavení nejnovější sady nástrojů. Existují také některé funkce integrovaného vývojového prostředí ,které jsou nekompatibilní se staršími sady nástrojů. Například informace o typu mohou chybět v profileru paměti a operace refaktoringu Převést na nezpracované řetězcové literály vygeneruje kód odpovídající C++11, který se při použití sad nástrojů Visual Studio 2012 nebo starších verzí nezkompiluje.
Jak používat nativní cílení na více verzí v Visual Studio
Po instalaci Visual Studio vedle starší verze otevřete existující projekt v nové verzi Visual Studio. Při načtení projektu se Visual Studio, jestli ho chcete upgradovat tak, aby se používá nejnovější kompilátor a knihovny C++. Vzhledem k tomu, že chcete, aby projekt uchová starší kompilátor a knihovny, zvolte tlačítko Zrušit.
Visual Studio o upgradu projektu je trvalý. Pokud se chcete vyhnout zobrazení dialogového okna upgradu při každém načtení projektu, můžete definovat následující vlastnost v projektech nebo v souborech .props nebo .targets, které importují:
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
Pokud chcete upgradovat projekty, musíte tuto vlastnost odebrat.
Pokud se rozhodnete nerozšiřovat, Visual Studio v souborech vašeho řešení nebo projektu žádné změny. Při sestavování projektu jsou vygenerované binární soubory plně kompatibilní se soubory, které jste sestavil se starší verzí Visual Studio. Je to proto, Visual Studio používá stejný kompilátor C++ a propoojuje stejné knihovny, se Visual Studio dodané se starším prostředím IDE. To je také důvod, proč dialogové okno upgradu varuje, že pokud zvolíte zrušit , Visual Studio starší verzi nainstalované.
Pokyny pro Visual Studio 2008
Visual Studio 2008 měl vlastní vyhrazený systém sestavení pro C++ s názvem VCBuild. Počínaje Visual Studio 2010 byly projekty Visual Studio C++ změněny tak, aby se MSBuild. To znamená, že bez ohledu na to, jestli je upgrade trvale nebo cílený na více verzí, musíte projít krokem aktualizace a sestavit projekty Visual Studio 2008 v nejnovější verzi Visual Studio. Aktualizovaný projekt stále generuje binární soubory, které jsou plně kompatibilní s binárními soubory vytvořenými pomocí integrovaného vývojového Visual Studio 2008.
Kromě aktuální verze nástroje Visual Studio musíte Visual Studio 2010 nainstalovat na stejný počítač jako Visual Studio 2008. Pouze Visual Studio 2010 nainstaluje MSBuild skripty potřebné k cílení na Visual Studio 2008.
Dále je nutné aktualizovat vaše Visual Studio 2008 a projekty na aktuální verzi Visual Studio. Před upgradem doporučujeme vytvořit zálohu projektů a souborů řešení. Pokud chcete zahájit proces upgradu, otevřete řešení v aktuální verzi Visual Studio. Po zobrazení výzvy k upgradu zkontrolujte uvedené informace a pak kliknutím na OK spusťte upgrade. Pokud máte v řešení více než jeden projekt, musíte aktualizovat Průvodce vytvoří nové soubory projektu .vcxproj vedle existujících souborů .vcproj. Pokud máte také kopii původního souboru .sln, upgrade nemá žádný jiný vliv na stávající projekty Visual Studio 2008.
Poznámka
Následující kroky platí pouze pro scénáře cílení na více verzí. Pokud máte v úmyslu trvale upgradovat projekt na novější sady nástrojů, pak je dalším krokem uložení projektu, jeho otevření v Visual Studio 2019 a řešení problémů se sestavením, které se v ní objeví.
Pokud se po dokončení upgradu v sestavě protokolu zobrazí chyby nebo upozornění pro kterýkoli z vašich projektů, pečlivě si je prohlédněte. Převod z nástroje VCBuildna MSBuild může způsobit problémy. Ujistěte se, že rozumíte položkám akcí uvedeným v sestavě a implementujete je. Další informace o sestavě protokolu upgradu a problémech, ke kterým může dojít při převodu nástroje VCBuild na MSBuild, najdete v tomto blogovém příspěvku o nativním cílení na více verzí jazyka C++.
Po dokončení upgradu projektu a opravě jakýchkoli problémů v souboru protokolu se vaše řešení ve skutečnosti zaměřuje na nejnovější sady nástrojů. V posledním kroku změňte vlastnosti každého projektu v řešení tak, aby se Visual Studio 2008. Když je řešení načtené v aktuální verzi Visual Studio, otevřete pro každý projekt v řešení dialogové okno Stránky vlastností Project: Klikněte pravým tlačítkem na projekt v Průzkumník řešení a pak vyberte Vlastnosti. V dialogovém okně Stránky vlastností změňte hodnotu rozevíracího seznamu Konfigurace na Všechny konfigurace. V části Vlastnosti konfiguracevyberte Obecnéa pak změňte nastavení Sada nástrojů platformy na Visual Studio 2008 (v90).
Po této změně se Visual Studio 2008 a knihovny používají ke generování binárních souborů projektu při sestavování řešení v aktuální verzi Visual Studio.
Instalace starší sady Visual Studio nástrojů
Můžete mít starý projekt Visual Studio C++, který nemůžete nebo nechcete upgradovat, ale ne verzi sady nástrojů platformy, která odpovídá vašemu projektu. V takovém případě můžete k získání sady nástrojů nainstalovat bezplatnou Visual Studio Community nebo edici Express potřebné verze. Každá verze nástroje Visual Studio od Visual Studio 2008 on může nainstalovat kompilátor, nástroje a knihovny, které potřebujete k cílení na tuto verzi z aktuálního Visual Studio. Na webu Microsoft Download Center vyhledejte a stáhněte konkrétní verzi Visual Studio. Ujistěte se, že jste během instalace zvolili možnosti instalace C++. Po dokončení instalace spusťte tuto verzi Visual Studio a nainstalujte všechny aktualizace. Zkontrolujte také případné změny Windows, které můžou být potřeba. Aby bylo možné získat každou aktualizaci, může být nutné tento proces kontroly aktualizací opakovat více než jednou.
Aktuálně dostupné soubory ke stažení najdete v tématu Stažení starší verze Visual Studio softwaru.
Po instalaci těchto produktů se automaticky aktualizuje rozevírací seznam vlastností sady nástrojů platformy v dialogovém okně Stránky vlastností, aby se zobrazují dostupné sady nástrojů. Nejnovější verzi sady nástrojů teď Visual Studio sestavovat projekty pro tyto starší verze sady nástrojů bez nutnosti jejich převodu nebo upgradu.
Viz také
Upgrade projektů ze starších verzí Visual C++
Vylepšení shody C++ se sadou Visual Studio