Udostępnij za pośrednictwem


Element docelowy (MSBuild)

Zawiera zestaw zadań związanych z MSBuild wykonać kolejno.

<Target Name="Target Name"
        Inputs="Inputs"
        Outputs="Outputs"
        Returns="Returns"
        KeepDuplicateOutputs="true/false"
        BeforeTargets="Targets"
        AfterTargets="Targets"
        DependsOnTargets="DependentTarget"
        Condition="'String A' == 'String B'">
        Label="Label">
    <Task>... </Task>
    <PropertyGroup>… </PropertyGroup>
    <ItemGroup>… </ItemGroup>
    <OnError... />
</Target>

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Atrybut

Opis

Name

Wymaganego atrybutu.

Nazwa obiektu docelowego.

Condition

Atrybut opcjonalny.

Szacowany warunek.Jeśli warunek jest false, miejsce docelowe nie będzie wykonywał treści obiektu docelowego lub wszelkie cele, które są ustawione w DependsOnTargets atrybut.Aby uzyskać więcej informacji o warunkach, zobacz Program MSBuild warunki.

Inputs

Atrybut opcjonalny.

Pliki, które tworzą wejścia do tego obiektu docelowego.Wiele plików są oddzielone średnikami.Sygnatury czasowe plików będzie porównywana z sygnatur czasowych plików w Outputs ustalenie, czy Target jest aktualny.Aby uzyskać więcej informacji, zobacz Buduje przyrostowe, Jak: tworzenie przyrostowo i Transformacje MSBuild.

Outputs

Atrybut opcjonalny.

Pliki, które wyświetla formularz do tego obiektu docelowego.Wiele plików są oddzielone średnikami.Sygnatury czasowe plików będzie porównywana z sygnatur czasowych plików w Inputs ustalenie, czy Target jest aktualny.Aby uzyskać więcej informacji, zobacz Buduje przyrostowe, Jak: tworzenie przyrostowo i Transformacje MSBuild.

Returns

Atrybut opcjonalny.

Zestaw elementów, które zostaną udostępnione do zadań, które wywołują ten obiekt docelowy, na przykład zadań programu MSBuild.Wiele elementów docelowych są oddzielone średnikami.Jeśli nie mają obiektów docelowych w pliku Returns atrybuty wyjść atrybuty są używane zamiast do tego celu.

KeepDuplicateOutputs

Opcjonalny atrybut typu Boolean.

Jeśli true, wiele odwołań do tego samego towaru w powrót obiektu docelowego są rejestrowane.Domyślnie ten atrybut jest false.

BeforeTargets

Atrybut opcjonalny.

Oddzielone średnikami lista nazw docelowych. Po określeniu wskazuje, że cel ten ma być uruchomione przed określone miejsce docelowe lub cele.W ten sposób autor projektu Rozszerzanie istniejącego zestawu obiektów docelowych bez modyfikowania ich bezpośrednio.Aby uzyskać więcej informacji, zobacz Zamówienie docelowej.

AfterTargets

Atrybut opcjonalny.

Oddzielone średnikami lista nazw docelowych.Po określeniu wskazuje, że cel ten ma być uruchomione po określone miejsce docelowe lub cele.W ten sposób autor projektu Rozszerzanie istniejącego zestawu obiektów docelowych bez modyfikowania ich bezpośrednio.Aby uzyskać więcej informacji, zobacz Zamówienie docelowej.

DependsOnTargets

Atrybut opcjonalny.

Cele, które muszą być wykonane przed wykonaniem tego obiektu docelowego lub analizy zależności najwyższego poziomu mogą wystąpić.Wiele elementów docelowych są oddzielone średnikami.

Label

Atrybut opcjonalny.

Identyfikator, który można zidentyfikować lub zamówić elementy systemu i użytkownika.

Elementy podrzędne

Element

Opis

Zadanie

Tworzy i wykonuje wystąpienie MSBuild zadania.Element docelowy może być zero lub więcej zadań.

PropertyGroup

Zawiera zestaw zdefiniowany przez użytkownika Property elementy.Począwszy od.NET Framework 3.5, Target element może zawierać PropertyGroup elementy.

ItemGroup

Zawiera zestaw zdefiniowany przez użytkownika Item elementy.Począwszy od.NET Framework 3.5, Target element może zawierać ItemGroup elementy.Aby uzyskać więcej informacji, zobacz Program MSBuild elementów.

OnError

Powoduje, że jeden lub więcej obiektów docelowych wykonać, jeśli ContinueOnError atrybut jest ErrorAndStop (lub false) dla zadanie nie powiodło się.Mogą istnieć zero lub więcej OnError elementy w element docelowy.Jeśli OnError elementy są obecne, muszą być ostatnim elementem w Target element.

Aby uzyskać informacje o ContinueOnError atrybut, zobacz Element zadania (MSBuild).

Elementy nadrzędne

Element

Opis

Projekt

Element główny wymagane MSBuild pliku projektu.

Uwagi

Pierwszy element docelowy do wykonania jest określona w czasie wykonywania.Obiekty docelowe mogą istnieć zależności między na inne cele.Na przykład miejsce docelowe dla wdrażania zależy od celu dla kompilacji.MSBuild Aparat wykonuje zależności w kolejności, w jakiej pojawiają się w DependsOnTargets atrybutu, od lewej do prawej.Aby uzyskać więcej informacji, zobacz Cele programu MSBuild.

Element docelowy jest wykonane tylko jeden raz podczas kompilacji, nawet, jeśli więcej niż jeden obiekt docelowy ma zależności to.

Jeśli obiektem docelowym jest pominięte, ponieważ jego Condition ma wartość atrybutu false, mogą być wykonywane nadal, jeśli jest wywoływana, później w budowie i jego Condition ma wartość atrybutu true w tym czasie.

Przed MSBuild 4 Target zwrócone wszystkie elementy, które zostały określone w Outputs atrybut.Aby to zrobić, program MSBuild musiała Rejestruj, w przypadku, gdy zadania później w budowie wystąpiły.Ponieważ nie było sposobu, aby wskazać, które cele miał wyjść, które wymagają dzwoniącym, MSBuild zgromadzonych wszystkie elementy ze wszystkich Outputs we wszystkich powoływać Targets.Doprowadziło to do skalowania problemów dla paczek, które miały dużą liczbę elementów danych wyjściowych.

Jeśli użytkownik wpisze Returns na każdym Target element w projekcie, a następnie tylko te Targets, które mają Returns atrybut rejestrowanie tych elementów.

A Target może zawierać zarówno Outputs atrybutu i Returns atrybut.Outputsjest używana z Inputs do ustalenia, czy obiekt docelowy jest aktualne.Returns, jeśli jest obecny, zastępuje wartość Outputs do określenia, które elementy są zwracane dla kodu wywołującego.Jeśli Returns nie jest obecny, następnie Outputs będą dostępne dla kodu wywołującego z wyjątkiem w przypadku opisanym wcześniej.

Przed MSBuild 4, że gdy Target zawarte wiele odwołań do tego samego towaru w jego Outputs, będzie zarejestrowana tych elementów zduplikowanych.W bardzo dużych buduje, charakteryzujący się dużą liczbę wyjść i wielu współzależności projektu, spowoduje to, że dużą ilość pamięci marnuje się, ponieważ zduplikowane elementy nie były w jakikolwiek sposób użyteczne.Gdy KeepDuplicateOutputs atrybut jest ustawiony na true, te są rejestrowane.

Przykład

Poniższy kod ilustruje przykład Target element, który wykonuje Csc zadania.

<Target Name="Compile" DependsOnTargets="Resources" Returns="$(TargetPath)">
    <Csc Sources="@(CSFile)"
          TargetType="library"
          Resources="@(CompiledResources)"
          EmitDebugInformation="$(includeDebugInformation)"
          References="@(Reference)"
          DebugType="$(debuggingType)" >
        <Output TaskParameter="OutputAssembly"
                  ItemName="FinalAssemblyName" />
    </Csc>
</Target>

Zobacz też

Koncepcje

Cele programu MSBuild

Odwołanie do projektu programu MSBuild pliku schematu