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í 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ářů je zadaný 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 potom 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:

  1. Otevřete nabídku Nástroje, klepněte na tlačítko Importovat a exportovat Nastavení
  2. Výběr možnosti Importovat vybraná nastavení prostředí
  3. Postupujte podle pokynů průvodce.

Viz také

NÁSTROJ MSBuild na příkazovém řádku – C++