Aracılığıyla paylaş


Hedef öğe (MSBuild)

Görevler kümesini içeren MSBuild ardışık olarak yürütülecek.

<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>

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst ögeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik

Tanımlama

Name

Gerekli öznitelik.

Hedef adı.

Condition

İsteğe bağlı öznitelik.

Değerlendirilecek koşulu. Koşul olarak sonlanırsa, false, hedef, hedef veya ayarlanmış olan tüm hedefleri gövdesi çalıştırmaz DependsOnTargets özniteliği. Koşullar hakkında daha fazla bilgi için bkz: MSBuild koşulları.

Inputs

İsteğe bağlı öznitelik.

Bu hedef içinde girdileri form dosyaları. Birden çok dosya noktalı virgüllerle ayrılır. Zaman damgaları dosyaların dosya zaman damgalarını ile karşılaştırıldığında Outputs belirlemek için mi Target güncel durumda. Daha fazla bilgi için, bkz. Artımlı oluşturur, Nasıl yapılır: artımlı olarak oluşturun ve MSBuild dönüşümler

Outputs

İsteğe bağlı öznitelik.

Bu hedef içinde form çıktı dosyaları. Birden çok dosya noktalı virgüllerle ayrılır. Zaman damgaları dosyaların dosya zaman damgalarını ile karşılaştırıldığında Inputs belirlemek için mi Target güncel durumda. Daha fazla bilgi için, bkz. Artımlı oluşturur, Nasıl yapılır: artımlı olarak oluşturun ve MSBuild dönüşümler

Returns

İsteğe bağlı öznitelik.

Örneğin, MSBuild görevleri bu hedefinin görevleri için kullanılabilir duruma getirilir öğeleri kümesi. Birden çok hedefi noktalı virgüllerle ayrılır. Hedefler dosyası yoksa Returns öznitelikleri, öznitelikler yerine bu amaç için kullanılan çıktılar.

KeepDuplicateOutputs

İsteğe bağlı Boole öznitelik.

true, Hedefin döndürür aynı öğe birden çok başvuru kaydedilir. Varsayılan olarak, bu özniteliği, false.

BeforeTargets

İsteğe bağlı öznitelik.

Hedef adlarını noktalı virgülle ayrılmış listesi. Belirtildiğinde, bu hedefi belirtilen hedef veya hedefler önce çalışması gerektiğini gösterir. Bu proje Yazar doğrudan değiştirmeden hedefleri varolan kümesini genişletmek sağlar. Daha fazla bilgi için bkz. Hedef oluþturulma sýrasý.

AfterTargets

İsteğe bağlı öznitelik.

Hedef adlarını noktalı virgülle ayrılmış listesi. Belirtildiğinde, bu hedef belirtilen hedef veya hedefler sonra çalışması gerektiğini gösterir. Bu proje Yazar doğrudan değiştirmeden hedefleri varolan kümesini genişletmek sağlar. Daha fazla bilgi için bkz. Hedef oluþturulma sýrasý.

DependsOnTargets

İsteğe bağlı öznitelik.

Bu hedef yürütülebilecek önce yürütülmelidir hedefleri veya üst düzey bağımlılık çözümlemesini ortaya çıkabilir. Birden çok hedefi noktalı virgüllerle ayrılır.

Label

İsteğe bağlı öznitelik.

Tanımlamak veya sistem ve kullanıcı öğeleri sipariş tanımlayıcısı.

Alt Öğeler

Öge

Tanımlama

Görev

Oluşturur ve bir örneğini yürütür bir MSBuild görev. Bir hedef olarak sıfır veya daha fazla görevi olabilir.

PropertyGroup

Kullanıcı tanımlı bir kümesini içeren Property öğeleri. .net Framework 3.5, başlayan bir Target öğesi içerebilir PropertyGroup öğeleri.

ItemGroup

Kullanıcı tanımlı bir kümesini içeren Item öğeleri. .net Framework 3.5, başlayan bir Target öğesi içerebilir ItemGroup öğeleri. Daha fazla bilgi için bkz. MSBuild öğeleri.

OnError

Neden olursa yürütmek bir veya daha fazla hedefler ContinueOnError ErrorAndStop bir özniteliktir (ya da false) başarısız bir görev için. Sıfır veya daha fazla olabilir OnError öğelerin bir hedef. OnError İçerisinde son öğe olması gerekir, öğeleri Target öğesi.

Hakkında bilgi için ContinueOnError özniteliği için bkz: Task öğesi (MSBuild).

Üst Öğeler

Öge

Tanımlama

Proje

Gerekli kök öğesi bir MSBuild proje dosyası.

Notlar

Çalışma zamanında yürütmek için ilk hedef belirtildi. Hedefleri, diğer hedefler üzerinde bağımlılıkları olabilir. Örneğin, dağıtım için hedef derleme için hedef bağlıdır. MSBuild Motoru bağımlılıkları içinde göründükleri sırayla çalıştırır DependsOnTargets soldan sağa özniteliği. Daha fazla bilgi için bkz. MSBuild hedefleri.

Birden fazla hedef bağımlılık üzerinde olsa bile, bir hedef yalnızca bir yapı sırasında bir kez yürütülür.

Çünkü hedef atlandığı takdirde, Condition özniteliği için değerlendirir false, yapı içinde çağrılırsa hala yapılabilecek ve kendi Condition özniteliği için değerlendirir true o tarihte.

MSBuild 4 önce Target içinde belirtilen tüm öğeleri döndürülen Outputs özniteliği. Bunu yapmak için yapı görevleri daha sonra bunları istediği takdirde bu öğeleri kaydetmek MSBuild vardı. MSBuild özü arayanlar gerektirecek çıktıları hangi hedefleri vardı göstermek için tüm öğeleri tüm birikmiş Outputs çağrılan tüm Targets. Öğeleri ölçeklendirme sorunları çok sayıda olan yapılar için bu adayı çıktı.

Kullanıcı belirtirse bir Returns herhangi bir Target öğesinde bir proje, sonra yalnızca Targetolan s bir Returns öznitelik öğeleri kayıt.

A Target her ikisini de içeren bir Outputs özniteliği ve bir Returns özniteliği. Outputsbirlikte kullanılan Inputs hedef güncel olup olmadığını belirlemek için. Returns, varsa, değerini geçersiz kılar Outputs hangi öğelerin arayanlar için döndürülen belirlemek için. Returns Sonra yoksa, Outputs daha önce açıklanan durumda arayanlara dışında kullanıma sunulacaktır.

MSBuild 4 önce herhangi bir kez bir Target aynı öğede birden çok başvuru dahil, Outputs, yinelenen öğeleri kaydedilir. Çok sayıda çıktıları ve birçok proje bağımlılıkları olan çok büyük yapılar, büyük miktarda bellek kullanımı herhangi bir yinelenen öğeleri değildi çünkü boşa harcanmış neden olur. Zaman KeepDuplicateOutputs özniteliği true, bu yinelemeleri kaydedilir.

Örnek

Aşağıdaki örnekte gösterildiği kod bir Target yürüten öğesi Csc görev.

<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>

Ayrıca bkz.

Kavramlar

MSBuild hedefleri

MSBuild proje dosyası Şeması Başvurusu