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
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.
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>
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.
Not
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
Ö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.
Özelliği veya özellikleri sonunda, proje dosyanızı başka bir örneğini tanımlar.Örneğin özgün özellik $(BuildDependsOn), yeni özelliği.
Önce veya sonra özellik tanımıyla özel hedeflerinizi tanımlayın.
Proje dosyası oluşturun.
"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
Kavramlar
Visual Studio Integration (MSBuild)