Udostępnij za pośrednictwem


MSBuild

Microsoft Build Engine To platforma do tworzenia aplikacji.Ten aparat, który jest nazywany również MSBuild, udostępnia schematu XML dla pliku projektu, który określa, jak platforma kompilacji przetwarza i tworzy oprogramowania.MSBuild korzysta z programu Visual Studio, ale go nie są zależne od programu Visual Studio. Wywołując msbuild.exe na Twój projekt lub plik rozwiązania, możesz organizować procesy i tworzenie produktów w środowiskach, w którym nie jest zainstalowany program Visual Studio.

Program Visual Studio używa MSBuild obciążenia i utworzyć projektów zarządzanych.Pliki projektu w programie Visual Studio (.csproj, .vbproj, vcxproj i inne) zawiera kod MSBuild XML, która wykonuje podczas tworzenia projektu za pomocą środowiska IDE.Visual Studio projektów zaimportować wszystkie niezbędne ustawienia i tworzenie procesy tworzenia typowe pracy, ale mogą rozszerzać lub zmieniać je z, w programie Visual Studio lub za pomocą edytora XML.

Aby uzyskać informacje o MSBuild C++, zobacz MSBuild (Visual C++).

Poniższe przykłady pokazują podczas kompilacji może uruchomić za pomocą wiersza polecenia programu MSBuild zamiast środowiska IDE programu Visual Studio.

  • Nie jest zainstalowany program Visual Studio.

  • Chcesz użyć 64-bitowej wersji programu MSBuild.Ta wersja programu MSBuild jest zazwyczaj zbędne, ale pozwala MSBuild uzyskać dostęp do większej ilości pamięci.

  • Chcesz uruchomić kompilację w wielu procesów.Jednak można użyć środowiska IDE na ten sam efekt nad projektami w języku C++, jak i C#.

  • Chcesz zmodyfikować system kompilacji.Na przykład można włączyć następujące czynności:

    • Przetwarzanie wstępne pliki, zanim upływie kompilator.

    • Skopiuj dane wyjściowe kompilacji w inne miejsce.

    • Utworzyć pliki skompresowane dane wyjściowe kompilacji.

    • Wykonaj krok przetwarzania końcowego.Można na przykład sygnatury zestawu za pomocą innej wersji.

Można wpisać kod w programie Visual Studio IDE, ale Uruchom tworzy przy użyciu programu MSBuild.Jako alternatywnego można tworzyć kod w IDE na komputerze projektowania, ale kompilacji kodu, który jest zintegrowany z wielu deweloperów za pomocą wiersza polecenia programu MSBuild.

[!UWAGA]

Umożliwia tworzenie programu Team Foundation automatycznie skompilować, testowania i wdrażania aplikacji.Twoje kompilacji systemu może automatycznie uruchamiaj kompilacje, gdy deweloperzy ewidencjonowaniu kodu (na przykład w ramach strategii ciągłej integracji) lub według harmonogramu (na przykład godzinach nocnych kompilacji tworzenie testu weryfikacji).Tworzenie programu Team Foundation kompiluje kodu za pomocą programu MSBuild.Aby uzyskać więcej informacji, zobacz Kompilowanie aplikacji.

Ten temat zawiera przegląd MSBuild.Samouczek wprowadzający Wskazówki: używanie programu MSBuild.

W tym temacie:

  • Korzystając z programu MSBuild w wierszu polecenia

  • Plik projektu

    • Właściwości

    • Elementy

    • Zadania

    • Obiekty docelowe

  • Kompilacja dzienników

  • Korzystając z programu MSBuild w programie Visual Studio

  • Wielowersyjność kodu

Korzystając z programu MSBuild w wierszu polecenia

Aby uruchomić MSBuild w wierszu polecenia przekazywania pliku projektu do MSBuild.exe, wraz z odpowiednimi opcjami wiersza polecenia.Opcje wiersza polecenia umożliwiają ustawianie właściwości, wykonywanie określonych celów i inne opcje kontrolujące proces kompilacji.Na przykład, należy użyć następującej składni wiersza polecenia, aby utworzyć plik MyProj.proj z Configuration wartości Debug.

MSBuild.exe MyProj.proj /property:Configuration=Debug

Aby uzyskać więcej informacji na temat MSBuild opcji wiersza polecenia, zobacz Informacje w wierszu polecenia programu MSBuild.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Aby pobrać projektu, należy określić wiarygodności kodu.

Plik projektu

MSBuildużywa format pliku projektu oparty na formacie XML, który jest bardzo proste w użyciu, rozszerzalne.MSBuild Format pliku projektu umożliwia deweloperom opisano elementów, które ma zostać utworzony, a także, jak są one ma zostać utworzony dla różnych systemów operacyjnych i konfiguracji.Ponadto format pliku projektu umożliwia deweloperom Autor wielokrotnego użytku kompilacji reguły, które mogą być brana pod uwagę w oddzielnych plikach, aby kompilacje można wykonać stale między różnymi projektami w produkcie.

W poniższych rozdziałach opisano niektóre z podstawowymi elementami MSBuild format pliku projektu. Samouczek o tworzeniu pliku projektu podstawowe Wskazówki: tworzenie pliku projektu MSBuild od zera.

Właściwości

Właściwości reprezentują par klucz/wartość, których można użyć do skonfigurowania kompilacji.Właściwości deklaruje się poprzez utworzenie elementu, w którym nazwa właściwości jest elementem podrzędnym elementu PropertyGroup.Na przykład następujący kod tworzy właściwość o nazwie BuildDir , który ma wartość Build.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

Można zdefiniować właściwość warunkowe umieszczając Condition atrybut w elemencie.Zawartość warunkowych elementy są ignorowane, jeśli warunek jest true.W poniższym przykładzie Configuration elementu jest określona, jeśli jeszcze nie zostały zdefiniowane.

<Configuration  Condition=" '$(Configuration)' == '' ">Debug</Configuration>

Właściwości można odwoływać się przez cały plik projektu za pomocą składni $(PropertyName).Na przykład można się odwołać do właściwości w poprzednich przykładach przy użyciu $(BuildDir) i $(Configuration).

Aby uzyskać więcej informacji na temat właściwości, zobacz Właściwości programu MSBuild.

Elementy

Elementy są dane wejściowe do kompilacji systemu i zazwyczaj reprezentują pliki.Elementy są zgrupowane w elementach typu, na podstawie nazw elementu zdefiniowanego przez użytkownika.Te typy elementów może służyć jako parametry dla zadania, które wykorzystują poszczególne elementy do wykonania czynności procesu kompilacji.

Elementy są zadeklarowane w pliku projektu przez utworzenie element, który ma nazwę typu element jako element podrzędny elementu ItemGroup elementu.Na przykład następujący kod tworzy typ elementu o nazwie Compile, który zawiera dwa pliki.

<ItemGroup>
    <Compile Include = "file1.cs"/>
    <Compile Include = "file2.cs"/>
</ItemGroup>

Typy elementów można odwoływać się przez cały plik projektu za pomocą składni @(ItemType).Na przykład typ elementu w przykładzie może odwoływać się przy użyciu @(Compile).

W MSBuild nazw elementów i atrybutów jest rozróżniana wielkość liter.Nazwy właściwości, element i metadanych nie są jednak.Poniższy przykład tworzy typu elementu Compile, comPile, lub innych przypadków zmiany i zwraca wartość "one.cs;two.cs" typu elementu.

<ItemGroup>
  <Compile Include="one.cs" />
  <comPile Include="two.cs" />
</ItemGroup>

Elementy można zadeklarować przy użyciu symboli wieloznacznych i mogą zawierać dodatkowe metadane dla bardziej zaawansowanych scenariuszy kompilacji.Aby uzyskać więcej informacji na temat elementów, zobacz Elementy programu MSBuild.

Zadania

Zadania są jednostek plik wykonywalny jest kod MSBuild projektów służy do wykonywania operacji kompilacji.Na przykład zadanie może skompilować plików wejściowych lub uruchomić zewnętrznych.Zadania mogą być ponownie używane, i może być współużytkowane przez różnych deweloperów w różnych projektach.

Logika wykonanie zadania jest zapisywana w kodzie zarządzanym i mapowane na MSBuild przy użyciu UsingTask elementu.Można wpisać własną zadanie, przygotowania typu zarządzanego, który implementuje ITask interfejsu.Aby uzyskać więcej informacji na temat pisania zadania, zobacz Wpisywanie zadania.

MSBuildobejmuje typowe zadania, które można dostosować do swoich wymagań.Przykłady kopię, który skopiuje pliki, MakeDir, która tworzy katalogi, i Csc, który kompiluje plików kodu źródłowego Visual C#.Lista dostępnych zadań wraz z programem informacje dotyczące użycia, zobacz Odwołanie do zadania MSBuild.

Zadanie jest wykonywany w MSBuild pliku projektu, tworząc element, który ma nazwę zadania jako element podrzędny elementu cel elementu.Zadania zazwyczaj akceptuje parametry, które są przekazywane jako atrybuty elementu.Obie MSBuild właściwości i elementy, które mogą być używane jako parametry.Na przykład poniższy kod wywoła MakeDir zadań i przekazuje je wartość BuildDir właściwości, który został uznany w wcześniejszego przykładu.

<Target Name="MakeBuildDirectory">
    <MakeDir  Directories="$(BuildDir)" />
</Target>

Aby uzyskać więcej informacji dotyczących zadań, zobacz Zadania programu MSBuild.

Obiekty docelowe

Obiekty docelowe grupowania zadań w określonej kolejności i udostępnić sekcje pliku projektu jako punkty wejścia do procesu kompilacji.Obiekty docelowe są często zgrupowane w logiczne sekcje w celu zwiększenia czytelności i mają być dozwolone podczas rozszerzenia.Przerywanie kroki kompilacji do celów pozwala wywołać jednej procesu kompilacji od innych obiektów docelowych bez kopiowania tej sekcji kodu do każdego obiektu docelowego.Na przykład jeśli kilka punkty wejścia do procesu tworzenia wymagają odwołania, który ma zostać utworzony, można utworzyć obiektu docelowego, która tworzy odwołania, a następnie uruchom ukierunkowanego na z każdym punkt wejścia, gdzie to wymagane.

Obiekty docelowe są zadeklarowane w pliku projektu za pomocą cel elementu.Na przykład następujący kod tworzy element docelowy o nazwie Compile, która następnie wywołania Csc zadanie, które ma na liście element, który został uznany w wcześniejszego przykładu.

<Target Name="Compile">
    <Csc Sources="@(Compile)" />
</Target>

W bardziej zaawansowanych scenariuszy celów może służyć do opisu relacje między sobą i wykonywać analizy zależności, tak aby można był pomijany sekcje całego procesu kompilacji, jeśli aktualność ukierunkowanego.Aby uzyskać więcej informacji na temat celów, zobacz Obiekty docelowe w programie MSBuild.

Kompilacja dzienników

Można rejestrować błędy kompilacji, ostrzeżenia i komunikaty konsoli lub innego urządzenia wyjściowego.Aby uzyskać więcej informacji, zobacz Uzyskiwanie dzienników kompilacji za pomocą narzędzia MSBuild i Logowanie w programie MSBuild.

Korzystając z programu MSBuild w programie Visual Studio

Visual Studioużywa MSBuild format pliku projektu do przechowywania informacji o kompilacji o zarządzanych projektów.Ustawienia, które są dodawane lub zmienić za pomocą projektu Visual Studio interfejsu są uwzględniane w. * proj pliku jest generowany dla każdego projektu.Visual Studioużywa hostowanej wystąpienia MSBuild do tworzenia projektów zarządzanych.Oznacza to, że można skonstruować zarządzanych projektu Visual Studio lub z wiersza polecenia (nawet wtedy, gdy Visual Studio nie jest zainstalowany), a ich wyniki są takie same.

Samouczek o korzystaniu MSBuild w programie Visual Studio, zobacz Wskazówki: używanie programu MSBuild.

Wielowersyjność kodu

Za pomocą programu Visual Studio, można kompilować do uruchomienia aplikacji na jednym z kilku wersji programu .NET Framework.Na przykład można kompilować do uruchomienia aplikacji na programie .NET Framework 2.0 na platformie 32-bitowy i będzie można kompilować tej samej aplikacji działanie na .NET Framework 4.5 na platformy 64-bitowej.Możliwość skompilować do więcej niż jednej struktury nosi nazwę multitargeting.

Oto niektóre korzyści wynikające z multitargeting:

  • Istnieje możliwość utworzenia aplikacji przeznaczonych dla wcześniejszych wersji programu .NET Framework, na przykład w wersji 2.0, 3.0 i 3.5.

  • Mogą określać docelową struktur innych niż programu .NET Framework, na przykład programu Silverlight.

  • Można kierować profilu struktury, który jest podzbiorem wstępnie zdefiniowanych Docelowa platforma.

  • Jeśli jest zwolniony z dodatkiem Service pack dla bieżącej wersji programu .NET Framework, można go celem.

  • Multitargeting gwarantuje, że aplikacja używa tylko funkcje są dostępne w docelowym framework i platformy.

Aby uzyskać więcej informacji, zobacz Przegląd wielowersyjności kodu w programie MSBuild.

Tematy pokrewne

Tytuł

Opis

Wskazówki: tworzenie pliku projektu MSBuild od zera

Przedstawiono sposób tworzenia pliku projektu podstawowe stopniowo, przy użyciu tylko tekst edytora.

Wskazówki: używanie programu MSBuild

Wprowadzono bloki konstrukcyjne MSBuild oraz sposób zapisu, modyfikowania i debugowane projektów MSBuild bez zamykania środowiska IDE programu Visual Studio.

Pojęcia dotyczące programu MSBuild

Przedstawia informacje o cztery blokami konstrukcyjnymi MSBuild: właściwości, elementy, celów i zadań.

Elementy programu MSBuild

Opisuje ogólne pojęć dotyczących MSBuild plików formatu i jak elementy dopasowane.

Właściwości programu MSBuild

Wprowadzono właściwości i kolekcji właściwości.Właściwości są tworzy par klucz/wartość, których można użyć do skonfigurowania.

Obiekty docelowe w programie MSBuild

Jak grupowanie zadań razem w określonej kolejności i Włącz części procesu kompilacji, która ma zostać wywołana w wierszu polecenia.

Zadania programu MSBuild

Pokazuje, jak utworzyć jednostkę kod wykonywalny, które mogą być używane przez MSBuild do wykonywania operacji częściowych kompilacji.

Warunki MSBuild

Zawiera informacje dotyczące używania Condition atrybutu w elemencie MSBuild.

Pojęcia zaawansowane dotyczące programu MSBuild

Przedstawia informacje przetwarzania wsadowego, wykonywanie przekształceń, multitargeting i innych zaawansowanych technik.

Logowanie w programie MSBuild

Opisuje sposób dziennika zdarzeń kompilacji, wiadomości i błędy.

Dodatkowe zasoby MSBuild

Wyświetla listę zasobów społeczności i pomoc techniczna, aby uzyskać więcej informacji na temat programu MSBuild.

Odwołanie