Aracılığıyla paylaş


Nasıl yapılır: Visual Studio oluşturma işlemi genişletir

Visual Studio Oluşturma işlemi tarafından bir dizi tanımlanmış MSBuild proje dosyanıza içe .targets dosyaları.Microsoft.Common.targets, alınan bu dosyalardan biri, özel görevler oluşturma işlemi, çeşitli noktalarda çalıştırmanıza izin genişletilebilir.Bu konuda genişletmek için kullanabileceğiniz iki yöntem açıklanır Visual Studio işlem oluştur:

  • Microsoft.common.TARGETS içinde tanımlanan önceden tanımlanmış belirli hedefleri geçersiz kılma.

  • Microsoft.common.TARGETS içinde tanımlanan "DependsOn" özelliklerini geçersiz kılar.

Önceden tanımlanmış hedefleri geçersiz kılma

Microsoft.Common.targets dosyası, önce ve sonra bazı önemli hedefler oluşturma işlemi olarak adlandırılan önceden tanımlanmış boş hedefleri içerir.Örneğin, MSBuild çağrıları BeforeBuild önce ana hedef CoreBuild hedef ve AfterBuild sonra hedef CoreBuild hedef.Varsayılan olarak, Microsoft.Common.targets boş hedefler hiçbir şey yapma, ancak, varsayılan davranışlarını Microsoft.Common.targets alır proje dosyasında istediğiniz hedefleri tanımlayarak değiştirebilirsiniz.Bunu yaparak, kullanabileceğiniz MSBuild görevleri oluşturma işlemi üzerinde daha fazla denetim sağlar.

Önceden tanımlanmış bir hedef geçersiz kılmak için

  1. Geçersiz kılmak istediğiniz Microsoft.Common.targets önceden tanımlanmış bir hedef belirleyin.Güvenle kılabilirsiniz hedefleri tam listesi için aşağıdaki tabloya bakın.

  2. Hedef veya hedefler, proje dosyanızı sonunda hemen önce tanımlamak </Project> etiket.Örne?in:

    <Project>
        ...
        <Target Name="BeforeBuild">
            <!-- Insert tasks to run before build here -->
        </Target>
        <Target Name="AfterBuild">
            <!-- Insert tasks to run after build here -->
        </Target>
    </Project>
    
  3. Proje dosyası oluşturun.

Aşağıdaki tabloda tüm hedeflerine güvenle kılabilirsiniz Microsoft.Common.targets gösterir.

Hedef Adı

Description

BeforeCompile, AfterCompile

Bu hedeflerin biri eklenen görevleri önce veya çekirdek derleme yapıldıktan sonra çalıştırın.Çoğu özelleştirmeleri bu iki hedefleri birinde yapılır.

BeforeBuild, AfterBuild

Bu hedeflerin biri eklenen görevler önce veya sonra yapý içinde bir şey çalışır.

NotNot
BeforeBuild Ve AfterBuild hedefleri önceden tanımlanmış proje dosyalarının çoğu sonunda yorumlar.Böylece kolayca öncesi ve post-build olay proje dosyanıza ekleyin.

BeforeRebuild, AfterRebuild

Görevleri, önce bu hedefleri de eklenebilir veya çekirdek yeniden sonra işlevi çağrılır.Microsoft.Common.targets hedef yürütme sırası: BeforeRebuild, Clean, Buildve AfterRebuild.

BeforeClean, AfterClean

Önce bu hedeflerin biri eklenen görevleri çalıştırmak veya çekirdek sonra temiz işlevi çağrılır.

BeforePublish, AfterPublish

Görevleri, önce bu hedefleri de eklenebilir veya çekirdek işlevselliği yayımladığınızda çağrılır.

BeforeResolveReference, AfterResolveReferences

Bu hedeflerin biri eklenen görevleri önce veya sonra derleme başvuruları çözümlendiği çalıştırın.

BeforeResGen, AfterResGen

Bu hedeflerin biri eklenen görevleri önce veya kaynakları üretildikten sonra çalıştırın.

"DependsOn" özellikleri geçersiz kılma

Oluşturma işlemi genişletmek için kolay bir yol olan önceden tanımlanmış hedefleri geçersiz kılma, ancak, çünkü MSBuild hedefleri tanımı ardışık olarak değerlendirir Proje hedefleri zaten geçersiz geçersiz kılma alır başka bir proje önlemek için başka bir yolu yoktur.Bunu, örneğin, son AfterBuild tüm projeleri alındı, oluşturma sırasında kullanılan olur sonra proje dosyasında tanımlanan hedef.

Hedefleri istenmeyen geçersiz kılmaları karşı kullanılan "DependsOn" özellikleri geçersiz kılarak koruma DependsOnTargets boyunca Microsoft.Common.targets dosya öznitelikleri.Örneğin, Build hedef içeren bir DependsOnTargets öznitelik değeri "$(BuildDependsOn)".Göz önünde bulundurun:

<Target Name="Build" DependsOnTargets="$(BuildDependsOn)"/>

Bu xml parçası önce gösterir Build hedef çalıştırabilir, tüm hedefler belirtilen BuildDependsOn özelliği ilk olarak çalıştırmalısınız.BuildDependsOn Özellik olarak tanımlanmıştır:

<PropertyGroup>
    <BuildDependsOn>
        BeforeBuild;
        CoreBuild;
        AfterBuild
    </BuildDependsOn>
</PropertyGroup>

Adlı başka bir özellik bildirerek, bu özellik değeri kılabilirsiniz BuildDependsOn , proje dosyanızı sonunda.Önceki gibi tarafından BuildDependsOn özelliği yeni bir özelliği, başlangıç ve hedef listenin sonuna yeni hedefler ekleyebilirsiniz.Örne?in:

<PropertyGroup>
    <BuildDependsOn>
        MyCustomTarget1;
        $(BuildDependsOn);
        MyCustomTarget2
    </BuildDependsOn>
</PropertyGroup>

<Target Name="MyCustomTarget1">
    <Message Text="Running MyCustomTarget1..."/>
</Target>
<Target Name="MyCustomTarget2">
    <Message Text="Running MyCustomTarget2..."/>
</Target>

Proje dosyalarınızı alma projeleri yaptığınız özelleştirmeler yazmadan bu özellikleri geçersiz kılabilirsiniz.

"DependsOn" özelliği geçersiz kılmak için

  1. Önceden tanımlanmış bir "DependsOn" özelliği geçersiz kılmak istediğiniz Microsoft.Common.targets tanımlayın.Genellikle geçersiz kılınmış "DependsOn" özelliklerin listesi için aşağıdaki tabloya bakın.

  2. Özelliği veya özellikleri sonunda, proje dosyanızı başka bir örneğini tanımlar.Örneğin özgün özellik $(BuildDependsOn), yeni özelliği.

  3. Önce veya sonra özellik tanımıyla özel hedeflerinizi tanımlayın.

  4. Proje dosyası oluşturun.

ms366724.collapse_all(tr-tr,VS.110).gif"DependsOn" özellikleri sık geçersiz kılınmış

Özellik Adı

Description

BuildDependsOn

Önce veya sonra tüm oluşturma işlemi özel hedefleri eklemek isterseniz geçersiz kılmak için özellik.

CleanDependsOn

Özel çıktı temizleme işlemi oluşturmak isterseniz, geçersiz kılmak için özellik.

CompileDependsOn

Özel işlemler önce veya sonra derleme adımı eklemek isterseniz geçersiz kılmak için özellik.

Ayrıca bkz.

Başvuru

MSBuild.Hedefleri dosyaları

Kavramlar

Visual Studio Integration (MSBuild)

Diğer Kaynaklar

MSBuild kavramları