VCBuild vs. MSBuild: Změny v systému sestavení ve Visual Studio 2010

V sadě Visual Studio 2010 byl zaveden systém MSBuild pro projekty C++. V sadě Visual Studio 2008 a v dřívější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 k upgradu na aktuální integrované vývojové prostředí a nástroje sestavení použít nejnovější verzi sady Visual Studio. 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 se nyní přejmenovává na .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 vlastnostní list projektů soubor ve formátu XML, který má příponu .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 aplikaci Visual Studio 2008 a starších verzích je pravidlový soubor soubor ve formátu 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 žádné vlastnosti, které by jinak byly zděděny, se nezdědí. Například makro $(Dědit) ve výchozím nastavení způsobí, že soubory určené pomocí možnosti kompilátoru /I (Další adresáře pro zahrnutí) budou připojeny k příkazovému řádku.

V sadě Visual Studio 2010 je dědičnost podporována zadáním hodnoty vlastnosti formou zřetězení kombinace 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 obsahujícího hodnotu <hodnota> a hodnoty vlastnosti MyProperty, 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:

  1. Otevřete nabídku Nástroje a klikněte na Importovat a exportovat nastavení.
  2. Vybrat Importovat vybraná nastavení prostředí
  3. Postupujte podle pokynů průvodce.

Viz také

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