Udostępnij za pośrednictwem


Zadania programu MSBuild

Platforma kompilacji musi możliwość wykonać wiele akcji podczas kompilacji.MSBuildużywa zadania do wykonywania tych czynności.Zadanie jest jednostką kod wykonywalny, używany przez MSBuild do wykonywania operacji budowania Atomowej.

Logika zadania

MSBuild Pliku w formacie XML projektu pełni nie można wykonać operacji na własny, więc logiki zadanie musi być zaimplementowana poza plikiem projektu budowy.

Logika wykonanie zadania jest zaimplementowany jako klasa .NET, który implementuje ITask interfejs, który jest zdefiniowany w Microsoft.Build.Framework obszaru nazw.

Klasa zadanie również definiuje parametry wejściowe i wyjściowe do zadania w pliku projektu.Wszystkie publiczne do ustawienia niestatyczny nieabstrakcyjna właściwości udostępniane przez klasę zadań może być dostępne w pliku projektu poprzez odpowiedni atrybut o tej samej nazwie na zadanie element.

Można napisać własne zadania przez tworzenie klas zarządzanych, który implementuje ITask interfejsu.Aby uzyskać więcej informacji, zobacz Wpisywanie zadania.

Wykonywanie zadania z pliku projektu

Przed wykonaniem zadania w pliku projektu, musi najpierw mapy typu w zestawie, który implementuje zadanie Nazwa zadania z UsingTask element.Dzięki temu MSBuild wiedzieć, gdzie szukać logiki wykonywanie zadania, gdy znajdzie w pliku projektu.

Aby wykonać to zadanie w MSBuild pliku projektu, Utwórz element o nazwie zadania jako element podrzędny Target element.Jeśli zadanie akceptuje parametry, te są przekazywane jako atrybuty elementu.

MSBuildelement listy i właściwości mogą być używane jako parametry.Na przykład, poniższy kod wywoła MakeDir zadania i ustawia wartość Directories właściwość MakeDir obiektu jest równa wartości BuildDir właściwość zadeklarowana w poprzednim przykładzie.

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

Zadania mogą również zwracać informacje do pliku projektu, które mogą być przechowywane w elementach lub właściwości w celu późniejszego użycia.Na przykład, poniższy kod wywoła Copy zadania i przechowuje informacje z CopiedFiles wyjście właściwość w SuccessfullyCopiedFiles elementu listy.

<Target Name="CopyFiles">
    <Copy
        SourceFiles="@(MySourceFiles)"
        DestinationFolder="@(MyDestFolder)">
        <Output
            TaskParameter="CopiedFiles"
            ItemName="SuccessfullyCopiedFiles"/>
     </Copy>
</Target>

Dołączone zadania

MSBuildstatki z wielu zadań, takich jak kopię, który kopiuje pliki, MakeDir, który tworzy katalogi, i Csc, który kompiluje Visual C# plikami kodu źródłowego.Aby uzyskać pełną listę dostępnych zadań i informacje o sposobie użycia, zobacz Odwołanie do zadania MSBuild.

Zastąpiona zadań

MSBuildszuka zadań w kilku miejscach.Pierwszy znajduje się w plikach z rozszerzeniem.OverrideTasks przechowywanych w katalogach.NET Framework.Zadania w tych plikach zastąpić inne zadania z tej samej nazwy, łącznie z zadaniami w pliku projektu.Drugi znajduje się w plikach z rozszerzeniem.Zadania w katalogach,.NET Framework.Jeśli zadanie nie znajduje się w jednej z tych lokalizacji, zadania, które w pliku projektu jest używany.

Zobacz też

Koncepcje

Wpisywanie zadania

Zadania wbudowane programu MSBuild

Inne zasoby

Pojęcia dotyczące programu MSBuild

MSBuild