Aracılığıyla paylaş


MSBuild görevleri

Yapı Platformu oluşturma işlemi sırasında herhangi bir eylem sayısı yürütme yeteneğini gerekiyor. MSBuildkullanan görevleri bu eylemleri gerçekleştirmek için. Bir görev tarafından kullanılan yürütülebilir kod birimidir MSBuild atomik yapı işlemleri gerçekleştirmek için.

Görev mantığı

MSBuild Proje dosya biçimi xml yapı kendi, bunu görev mantık işlemlerini proje dosyası dışında uygulanan gerekir yürütmek tam olamaz.

Bir görevin yürütme mantığı uygulayan bir .NET sınıf uygulanan ITask içinde tanımlanan arabirimi, Microsoft.Build.Framework ad alanı.

Görev sınıfı proje dosyasındaki görevi de giriş ve çıkış parametreleri tanımlar. Görev sınıfı tarafından sunulan tüm ortak ayarlanabilir statik olmayan soyut olmayan özellikleri üzerinde aynı ada sahip bir karşılık gelen öznitelik yerleştirerek proje dosyasında erişilebilen görev öğesi.

Kendi görev tarafından yönetilen uygulayan sınıf yazma yazma ITask arabirim. Daha fazla bilgi için bkz. Görev yazma.

Bir proje dosyasından bir görev yürütme

Görevin proje dosyanızda çalıştırmadan önce görev için görev adı ile uygulayan derlemesinde türü ilk eşleştirmelisiniz UsingTask öğesi. Bu MSBuild proje dosyasında bulur, görevinizi yürütme mantığı nerede biliyor.

Bir görevi yürütmek için bir MSBuild bir öğenin alt öğesi olarak görevin adını oluşturmak, proje dosyası bir Target öğesi. Parametreler Görev kabul ederse, bu öğe öznitelikleri olarak geçirilir.

MSBuildMadde listeleri ve özellikleri parametreleri olarak kullanılabilir. Örneğin, çağrıları aşağıdaki kod MakeDir görev ve ayarlar Directories özelliğini MakeDir nesne değerine eşit BuildDir özelliği önceki örnekte bildirilen.

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

Görevleri, ayrıca öğeleri veya özellikleri daha sonra kullanmak için depolanan proje dosyasına bilgileri döndürebilirsiniz. Örneğin, çağrıları aşağıdaki kod Copy bilgileri depolar ve görev CopiedFiles özelliğinde çıktı SuccessfullyCopiedFiles öğe listesi.

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

İçerdiği görevler

MSBuildgibi pek çok görevi ile birlikte gelen kopya, dosyaları kopyalar MakeDir, dizinleri oluşturur ve Csc, hangi derlerken Visual C# kaynak kodu dosyaları. Kullanılabilir görevler ve kullanım bilgilerini tam listesi için bkz: MSBuild görevi başvurusu.

Geçersiz kılınmış görevleri

MSBuildgörevleri çeşitli konumlarda arar. İlk uzantılı dosyalar içinde konumudur..net Framework dizinlerde depolanan OverrideTasks. Bu dosyalardaki görevleri proje dosyasında görevler de dahil olmak üzere aynı adı taşıyan herhangi bir görevi geçersiz kılar. İkinci uzantılı dosyalar içinde konumudur..net Framework dizinlerde görevler. Görev bu konumlardan birini bulunursa, görevin proje dosyasında kullanılır.

Ayrıca bkz.

Kavramlar

Görev yazma

MSBuild satır içi görevleri

Diğer Kaynaklar

MSBuild kavramları

MSBuild