VCBuild vs. MSBuild: Sestavení systémových změn v sadě Visual Studio 2010
V sadě Visual Studio 2010 byl zaveden systém MSBuild pro projekty C++. V sadě Visual Studio 2008 a starších verzích byl použit systém VCBuild. Některé typy souborů a koncepty, které závisejí na nástroji VCBuild, buď neexistují, nebo jsou v nástroji MSBuild reprezentovány odlišně. Tento dokument popisuje rozdíly v aktuálním systému sestavení. Chcete-li převést projekt sady Visual Studio 2008 na MSBuild, musíte použít Visual Studio 2010. Po převodu projektu byste měli použít nejnovější verzi sady Visual Studio k upgradu na aktuální sadu nástrojů integrovaného vývojového prostředí a kompilátoru. Další informace, včetně toho, jak získat Visual Studio 2010, naleznete v pokynech pro Visual Studio 2008.
Následující části shrnují změny z nástroje VCBuild na MSBuild. Pokud má váš projekt VCBuild vlastní pravidla sestavení nebo makra, která nástroj MSBuild nerozpozná, přečtěte si téma Projekty sady Visual Studio – C++ a zjistěte, jak tyto pokyny přeložit do systému MSBuild. Počáteční převod z nástroje VCBuild na MSBuild je pouze zprostředkující krok. Soubor projektu není nutné úplně opravit nebo získat program pro kompilaci bez chyb. K převodu projektu do formátu MSBuild používáte pouze Visual Studio 2010, abyste mohli projekt pracovat v nejnovější verzi sady Visual Studio.
.vcproj je teď .vcxproj
Soubory projektu už nepoužívají příponu názvu souboru .vcproj. Visual Studio 2010 automaticky převede soubory projektu vytvořené dřívější verzí jazyka Visual C++ do formátu MSBuild, který používá příponu .vcxproj pro soubory projektu.
.vsprops je nyní .props
V sadě Visual Studio 2008 a starší je seznam vlastností projektu soubor založený na jazyce XML, který má příponu názvu souboru .vsprops. Seznam vlastností projektu umožňuje určit přepínače pro nástroje sestavení, jako je kompilátor nebo linker, a vytvářet uživatelsky definovaná makra. V nástroji MSBuild je přípona názvu souboru pro seznam vlastností projektu .props.
Vlastní pravidla sestavení a soubory .rules
V sadě Visual Studio 2008 a starší je soubor pravidla soubor založený na jazyce XML, který má příponu názvu souboru .rules. Soubor pravidla umožňuje definovat vlastní pravidla sestavení a začlenit je do procesu sestavení projektu visual Studio C++. Vlastní pravidlo sestavení, které může být přidruženo k jedné nebo více přípon názvů souborů, umožňuje předat vstupní soubory nástroji, který vytvoří jeden nebo více výstupních souborů.
V systému MSBuild jsou vlastní pravidla sestavení reprezentována třemi typy souborů, .xml, .props a .targets místo souboru .rules. Při migraci souboru .rules vytvořeného pomocí dřívější verze visual C++ do sady Visual Studio 2010 se vytvoří ekvivalentní soubory .xml, .props a .targets a uloží se do projektu společně s původním souborem .rules.
Důležité
V sadě Visual Studio 2010 integrované vývojové prostředí nepodporuje vytváření nových pravidel. Z tohoto důvodu nejjednodušší způsob, jak použít soubor pravidla z projektu vytvořeného pomocí dřívější verze visual C++, je migrovat projekt do sady Visual Studio 2010.
Makra dědičnosti
V sadě Visual Studio 2008 a starší určuje makro $(Inherit) pořadí, ve kterém se zděděné vlastnosti zobrazí na příkazovém řádku, který se skládá systémem sestavení projektu. Makro $(NoInherit) způsobí ignorování všech výskytů $(Inherit) a způsobí, že se zdědí všechny vlastnosti, které by jinak byly zděděny, nikoli zděděny. Například makro $(Dědit) ve výchozím nastavení způsobí, že soubory zadané pomocí možnosti kompilátoru /I (další adresáře zahrnutí) se připojí k příkazovému řádku.
V sadě Visual Studio 2010 je dědičnost podporována zadáním hodnoty vlastnosti jako zřetězení jedné nebo více hodnot literálů a maker vlastností. Makra $(Inherit) a $(NoInherit) se nepodporují.
V následujícím příkladu je seznam oddělený středníkem přiřazen k vlastnosti na stránce vlastnosti. Seznam se skládá ze zřetězení literálu <hodnoty> a hodnoty MyProperty
vlastnosti, která je přístupná pomocí zápisu makra, $(MyProperty).
Property=<value>;$(MyProperty)
soubory .vcxproj.user
Uživatelský soubor (.vcxproj.user) ukládá vlastnosti specifické pro uživatele, například nastavení ladění a nasazení. Soubor vcxproj.user se vztahuje na všechny projekty pro konkrétního uživatele.
soubor .vcxproj.filters
Když se Průzkumník řešení použije k přidání souboru do projektu, soubor filtrů (.vcxproj.filters) definuje, kde se soubor přidá ve stromovém zobrazení Průzkumník řešení na základě jeho přípony názvu souboru.
Nastavení adresářů VC++
Nastavení adresářů Visual C++ se zadává na stránce vlastností adresářů VC++. V sadě Visual Studio 2008 a starší platí nastavení adresářů pro jednotlivé uživatele a seznam vyloučených adresářů se zadává v souboru sysincl.dat .
Nastavení adresářů VC++ nelze změnit, pokud spustíte příkaz devenv /resetsettings na příkazovém řádku. Nastavení nelze změnit také, pokud otevřete nabídku Nástroje , klepněte na tlačítko Importovat a exportovat nastavení a pak vyberte možnost Obnovit všechna nastavení .
Migrace nastavení adresářů VC++ ze souboru .vssettings vytvořeného v dřívější verzi sady Visual Studio:
- Otevřete nabídku Nástroje a klikněte na Importovat a exportovat nastavení.
- Výběr možnosti Importovat vybraná nastavení prostředí
- Postupujte podle pokynů průvodce.