Udostępnij za pośrednictwem


Omówienie programu MSBuild (Visual C++)

Program MSBuild jest standard stworzenia systemu dla projektów Visual C++.Podczas tworzenia projektu w Visual Studio zintegrowane środowisko programistyczne (IDE) używa narzędzia msbuild.exe, plik projektu, oparty na języku XML i plików ustawień opcjonalnych.Chociaż można użyć msbuild.exe i pliku projektu, w wierszu polecenia, IDE udostępnia interfejs użytkownika, tak aby łatwiej można skonfigurować ustawienia i tworzenie projektów.Przegląd ten opisuje, jak Visual C++ korzysta z systemu MSBuild.

Wymagania wstępne

Przeczytaj następujące dokumenty dotyczące programu MSBuild.

Program MSBuild w wierszu polecenia

Poniższa instrukcja z Informacje w wierszu polecenia programu MSBuild dokument pokazuje, że narzędzie msbuild.exe przyjmuje niejawne lub wyraźne project file argument (plik .vcxproj na projekty Visual C++) i zero lub więcej wiersza polecenia options.

msbuild.exe [project file] [options]

Użyj /target (lub /t) i /property (lub /p) opcje wiersza polecenia, aby zastąpić właściwości i cele, które są określone w pliku projektu.

Podstawową funkcją plik projektu jest określenie docelowej, który jest w danej operacji, stosowane do projektu, a wejściowych i wyjściowych, które są wymagane do wykonania tej operacji.Plik projektu można określić jeden lub więcej obiektów docelowych, obejmujące docelowych domyślne.

Każdego obiektu docelowego składa się z sekwencji jednego lub więcej zadania.Każde zadanie jest reprezentowany przez.Klasa NET Framework, która zawiera jeden polecenia pliku wykonywalnego.Na przykład CL zadania zawiera cl.exe polecenia.

A parametru zadania jest właściwością zadania klasy i zazwyczaj reprezentuje opcji wiersza polecenia polecenia pliku wykonywalnego.Na przykład FavorSizeOrSpeed parametr CL zadanie odpowiada /Os i /Ot opcje kompilatora.

Parametry dodatkowe zadania obsługi infrastruktury MSBuild.Na przykład Sources zadanie parametr określa zestaw zadań, które mogą być wykorzystane przez inne zadania.Aby uzyskać więcej informacji na temat MSBuild zadań, zobacz Zadanie programu MSBuild odniesienia.

Większość zadań wymaga wejściowych i wyjściowych, takich jak nazwy plików, ścieżki i ciąg znaków, parametrów liczbowych lub logicznych.Na przykład wspólne dane wejściowe jest nazwa pliku źródłowego .cpp skompilować.Ważnym parametrem wejściowym jest ciąg, który określa się konfigurację kompilacji i platformy, na przykład "Debug|Win32 ".Wejść i wyjść są określone przez jeden lub więcej XML zdefiniowanej przez użytkownika Item elementy zawarte w ItemGroup element.

Plik projektu można także określić, zdefiniowane przez użytkownika Właściwości i grupy definicji elementuelementy.Właściwości i elementy tworzą pary nazwa/wartość, które mogą być używane jako zmienne w kompilacji.Określa składnik Nazwa parę makro, i deklaruje składnik wartość wartość makro.Właściwość makro jest dostępny przy użyciu $(Nazwa) notacji i makra element jest dostępny przy użyciu %(Nazwa) notacji.

Inne elementy XML w pliku projektu można testowania makr i następnie warunkowo wartość wszelkich makro lub kontrolować wykonywanie tej kompilacji.Nazwy makr i ciągi może zostać dołączona do generowania konstrukcje, takie jak ścieżka i nazwa pliku.W wierszu polecenia /property opcji ustawia lub zastępuje właściwość projektu.Elementy nie mogą odwoływać się w wierszu polecenia.

MSBuild system warunkowo można wykonać elementu docelowego, przed lub po innego obiektu docelowego.System może kreowania docelowych, w zależności od tego, czy są nowsze niż pliki, które emituje pliki, które używa obiektu docelowego.

Program MSBuild w IDE

Po ustawieniu właściwości projektu w IDE i następnie zapisać projekt, Visual C++ zapisuje ustawienia projektu do pliku projektu.Plik projektu zawiera ustawienia, które są unikatowe dla projektu, ale nie zawiera wszystkich ustawień, które są wymagane do skonstruowania projektu.Plik projektu zawiera Import elementy, które zawierają dodatkowe sieci obsługuje pliki. Pliki obsługi zawierają pozostałe właściwości, cele i ustawienia, które są wymagane do skonstruowania projektu.

Większość cele i właściwości w plikach pomocy technicznej istnieją jedynie w celu wprowadzenia w życie systemu kompilacji.W następującej części omówiono niektóre użyteczne cele i właściwości, które można określić w wierszu polecenia programu MSBuild.Aby odkryć więcej cele i właściwości, należy zbadać pliki w katalogach plik pomocy technicznej.

Ee662426.collapse_all(pl-pl,VS.110).gifObsługa katalogów plików

Domyślnie podstawowe pliki obsługi języka Visual C++ znajdują się w następujących katalogach.

Katalog

Opis

dysk: \Program Files\MSBuild\Microsoft.Cpp\v4.0\

Zawiera pliki docelowe podstawowego (.targets) i właściwości plików (.props) używane przez elementy docelowe.Domyślnie makro $(VCTargetsPath) odwołuje się do tego katalogu.

dysk: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\platformy\

Zawiera pliki docelowe i właściwości specyficzne dla platformy, które zastępują cele i właściwości w katalogu nadrzędnym.Ten katalog zawiera również plik .dll, który definiuje zadań, które są używane przez obiekty docelowe, w tym katalogu.

Platformy symbol zastępczy reprezentuje Itanium, Win32, lub x64 podkatalogu.

dysk: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\platformy\ PlatformToolsets\toolset\

Zawiera katalogi, umożliwiające kompilacji do generowania 9.0 lub aplikacji Visual C++ 10.0.

Platformy symbol zastępczy reprezentuje Itanium, Win32, lub x64 podkatalogu.Toolset symbol zastępczy reprezentuje v90 lub v100 toolset podkatalogu.

Ee662426.collapse_all(pl-pl,VS.110).gifPliki pomocy technicznej

Katalogi plików obsługi technicznej zawiera pliki o następujących rozszerzeniach.

Rozszerzenie

Opis

.TARGETS

Zawiera Target elementy XML, które określają zadania, które są wykonywane przez obiekt docelowy.Może również zawierać Property Group, Item Group, Item Definition Groupi zdefiniowane przez użytkownika Item elementów, które są używane do przypisywania pliki i opcje wiersza polecenia do parametrów zadania.

Aby uzyskać więcej informacji, zobacz Element docelowy (MSBuild).

.props

Zawiera Property Group i zdefiniowane przez użytkownika Property elementy XML, które określają ustawienia pliku i parametrów, które są używane podczas kompilacji.

Może również zawierać Item Definition Group i zdefiniowane przez użytkownika Item elementy XML, które określają dodatkowe ustawienia.Elementy zdefiniowane w grupie definicji elementu przypominają właściwości, ale nie są dostępne z wiersza polecenia.Visual C++ projektu plików często używa elementów zamiast właściwości do reprezentowania ustawienia.

Aby uzyskać więcej informacji, zobacz Element ItemGroup (MSBuild), Element ItemDefinitionGroup (MSBuild), i Pozycja elementu (MSBuild).

XML

Zawiera elementy XML, które deklaruje i zainicjować elementy interfejsu użytkownika IDE, takich jak arkusze właściwości i stron właściwości pola i listy pól tekstowych.

Pliki .xml bezpośrednio obsługuje IDE, nie MSBuild.Jednakże wartości właściwości IDE są przypisywane do budowania właściwości i elementy.

Większość plików .xml znajdują się w podkatalogu specyficzne dla danej lokalizacji.Na przykład pliki regionu Angielskiego są w \1033\ $(VCTargetsPath).

Cele użytkownika i właściwości

Aby użyć programu MSBuild najbardziej skutecznie w wierszu polecenia, pomaga wiedzieć, które właściwości i obiekty docelowe są przydatne i istotne.Większość właściwości i cele wdrażanie systemu Visual C++ kompilacji i w związku z tym nie są istotne dla użytkownika.W tej sekcji opisano niektóre wartościowej właściwości zorientowana na użytkownika i cele.

Ee662426.collapse_all(pl-pl,VS.110).gifWłaściwość PlatformToolset

PlatformToolset Właściwość określa, czy Visual C++ 2010 lub przybornik Visual C++ 2008 jest używana w kompilacji.Wartość właściwości jest łączone z ciągami tekstowymi, aby utworzyć ścieżkę katalogu zawierającego pliki właściwości i docelowych, które są wymagane do skonstruowania projektu dla konkretnej platformy.

Ustaw PlatformToolset właściwość, aby v200 Aby użyć Visual C++ 2010 narzędzi do tworzenia aplikacji.

msbuild myProject.vcxproj /p:PlatformToolset=v100

Ustaw PlatformToolset właściwość, aby v90 do tworzenia aplikacji za pomocą narzędzi Visual C++ 2008.Przybornik Visual C++ 2008 muszą już zainstalowane na komputerze dla tej właściwości, aby były skuteczne.

msbuild myProject.vcxproj /p:PlatformToolset=v90

Ee662426.collapse_all(pl-pl,VS.110).gifWłaściwość UseEnv

Domyślnie ustawienia specyficzne dla platformy dla bieżącego projektu zastępują zmienne środowiskowe ścieżki, dołączanie, LIB, LIBPATH, konfiguracji i platformy.Ustaw UseEnv właściwość, aby true do zagwarantowania, że zmienne środowiskowe nie są zastępowane.

msbuild myProject.vcxproj /p:UseEnv=true

Ee662426.collapse_all(pl-pl,VS.110).gifCele

Istnieją setki cele w pliki obsługi języka Visual C++.Jednak większość są cele systemowe, które użytkownik może zignorować.Większość obiektów docelowych systemu są poprzedzane znaku podkreślenia (_) lub mieć nazwę, która rozpoczyna się od "PrepareFor", "Obliczyć", "Przed", "Po", "Pre" lub "Księgowanie".

Poniższa lista zawiera kilka wartościowej cele zorientowana na użytkownika.

Docelowe

Opis

BscMake

Przeglądanie informacji o utrzymanie narzędzie Microsoft narzędzie wykonuje bscmake.exe.

Kompilacja

Buduje projektu.

Jest to domyślny obiekt docelowy dla projektu.

ClCompile

Narzędzie kompilatora Visual C++ wykonuje cl.exe.

Czyszczenia

Usuwa tymczasowych i pośrednie tworzenie plików.

Lib

Wykonuje narzędzie Microsoft 32-bitowa biblioteka Menedżera lib.exe.

Łącze

Narzędzie Visual C++ linker wykonuje link.exe.

ManifestResourceCompile

Wyodrębnia z listy zasobów z manifestu, a następnie wykonuje narzędzie Microsoft Windows Resource kompilator rc.exe.

MIDL

Wykonuje narzędzie kompilatora Microsoft Interface Definition Language (MIDL), midl.exe.

Odbuduj

Czyści i następnie konstruuje projektu.

ResourceCompile

Narzędzie Microsoft Windows Resource kompilator wykonuje rc.exe.

XdcMake

Wykonuje narzędzie dokumentacji XML xdcmake.exe.

XSD

Wykonuje narzędzie definicji schematu XML xsd.exe.

Zobacz też

Inne zasoby

Program MSBuild (Visual C++)