Özelleştirilebilir Team Foundation yapı hedefleri
MSBuildhedeflerini tanımlamak nasıl bir MSBuild Proje üretilmiştir. Microsoft.TeamFoundation.Build.targets dosyasını hedef hiyerarşisini tanımlar ve bir dizi önceden tanımlanmış MSBuild Görevler ve hedefler için Team Foundation Yapısı kullanılan tüm Team Foundation Yapısı türleri. Yapı tanımları, TfsBuild.proj adlı bir proje dosyası içerir. Proje dosyası yalnızca bir yapı tanımı veya birden fazla yapı tanımları ilişkili olabilir. TfsBuild.proj Microsoft.TeamFoundation.Build.targets dosyası alır ve çeşitli özellikleri ve madde grupları için değerler sağlar. TfsBuild.proj dosya uzantısı nokta hedefler hiyerarşisi bazıları geçersiz kılmak için özelleştirebilirsiniz. Hedef dosyası <kök>: build aracı üzerinde \Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild.
Önemli
Microsoft.TeamFoundation.Build.targets dosyasını değiştirmeyin.
Hakkında daha fazla bilgi için MSBuild Bkz: hedefleri, MSBuild hedefler.
Görevlerle özelleştirilebilir hedefleri
Görevleri, hedefleri içinde yer alır. Görevler oluşturma işlemi sırasında çalışan kod sağlar. Aşağıdaki tabloda tüm listeler Team Foundation Yapısı için tanımlanan hedeflergenişletilebilirlik. Oluşturma işlemi sırasında özel görevlerinizi çalıştırdığınızda, görevlerinizi bağlı bu hedefleri birini takın.
Not
Diğer hedefler geçersiz kılma önermiyoruz.
Hedef Adı |
Açyklama |
---|---|
BeforeEndToEndIteration |
Sizin göreviniz, oluşturma işlemi çok başında özel görevleri çalıştırmak için bu hedef takın. |
AfterEndToEndIteration |
Sizin göreviniz, oluşturma işlemi sonunda özel görevleri çalıştırmak için bu hedef takın. |
BeforeInitializeWorkspace |
Sizin göreviniz çalışma başlatma önce özel görevleri çalıştırmak için bu hedef yerleştirin. |
AfterInitializeWorkspace |
Sizin göreviniz çalışma başlatmadan sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
BuildNumberOverrideTarget |
Sizin göreviniz yapı numarası özelleştirmek veya yerleşim özellikleri bırakın Bu hedef yerleştirin. Adlı bir çıkış özelliği yazdığınız görev oluşturmanız gerekir BuildNumber. |
BeforeClean |
Adlı temiz denenmeden önce. Sizin göreviniz pre-clean özel görevi çalıştırmak için bu hedef yerleştirin. |
AfterClean |
Adlı temiz tamamlandıktan sonra. Sizin göreviniz post-clean özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeGet |
Kaynakları kaynak denetiminden alınmadan önce denir. Sizin göreviniz kaynaklardan almadan önce özel görevleri çalıştırmak için bu hedef yerleştirin. |
AfterGet |
Kaynakları aldıktan sonra denir. Sizin göreviniz kaynakları alındıktan sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeLabel |
Kaynakları etiketli önce çağırılır. Sizin göreviniz önce özel görevleri çalıştırmak için bu hedef eklemek Label hedef. |
AfterLabel |
Etiketleme tamamlandıktan sonra denir. Sizin göreviniz özel görevleri çalıştırmak için bu hedef eklemek Label hedef. |
BeforeCompile |
Derleme başlamadan önce denir. Sizin göreviniz kod dosyaları derlenmiş önce özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeCompileConfiguration |
Tek bir yapılandırma derleme önce özel görevleri çalıştırmak için bu hedef göreviniz takın. |
BeforeCompileSolution |
Tek bir çözümün derleme önce özel görevleri çalıştırmak için bu hedef göreviniz takın. |
AfterCompileSolution |
Sizin göreviniz, tek bir çözümü derleme özel görevleri çalıştırmak için bu hedef takın. |
AfterCompileConfiguration |
Tek bir yapılandırma derleme özel görevleri çalıştırmak için bu hedef göreviniz takın. |
AfterCompile |
Derleme işlemi tamamlandıktan sonra denir. Sizin göreviniz kod dosyaları derlenmiş sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeGetChangesetsAndUpdateWorkItems |
Sizin göreviniz changesets ilişkilendirme ve çalışma öğeleri güncelleştirmeden önce özel görevleri çalıştırmak için bu hedef yerleştirin. |
AfterGetChangesetsAndUpdateWorkItems |
Sizin göreviniz changesets ilişkilendirme ve çalışma öğeleri güncelleştirmeden sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeTest |
Sınamaları çalıştırmadan önce denir. Sizin göreviniz önce özel görevleri çalıştırmak için bu hedef eklemek Test hedef. |
BeforeTestConfiguration |
Sizin göreviniz tek bir yapılandırma sınama önce özel görevleri çalıştırmak için bu hedef yerleştirin. |
AfterTestConfiguration |
Sizin göreviniz tek bir yapılandırma sınandıktan sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
AfterTest |
Sınama tamamlandığında denir. Sizin göreviniz özel görevleri çalıştırmak için bu hedef eklemek Test hedef. |
BeforeDropBuild |
Yerleşik ikili dosyaları kaydetmeden önce günlük dosyaları oluşturmak ve sınama sonuçları yayın sunucusu üzerindeki yapı Bırakma dizinine. Bırakma dizini oluşturma dosyaları kaydetmeden önce özel görevleri çalıştırmak için bu hedef göreviniz takın. |
AfterDropBuild |
Yerleşik ikili dosyaları ve sınama sonuçlarını yayın sunucusuna bırakarak sonra denir. Görev oluşturma dosyaları bırakma dizinine kaydedildikten sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeCreateWorkItem |
Sizin göreviniz çalışma öğesi oluşturma önce özel görevleri çalıştırmak için bu hedef yerleştirin. |
AfterCreateWorkItem |
Sizin göreviniz çalışma öğesi oluşturulduktan sonra özel görevleri çalıştırmak için bu hedef yerleştirin. |
BeforeOnBuildBreak |
İş öğesi bir yapı sonu sonucunda oluşturmadan önce denir. Sizin göreviniz önce özel görevleri çalıştırmak için bu hedef eklemek BuildBreak hedef. |
AfterOnBuildBreak |
İş öğesi bir yapı sonu sonucunda oluşturulduktan sonra denir. Sizin göreviniz özel görevleri çalıştırmak için bu hedef eklemek BuildBreak hedef. |
GenerateDocumentation |
Bu boş bir hedeftir. Sizin göreviniz, oluşturma işlemi sırasında belge oluşturmak için bu hedef takın. |
Özel görevleri çalıştırmak için hedefleri geçersiz kılma
Yazdığınız kodu hedef ile eşleştirilmelidir. Daha fazla bilgi için bkz. Görev kaydetme. Özel bir görev yazmak için aşağıdaki adımları izlemeniz gerekir.
Görev kodu yazmak ve kaynak denetim yolu TfsBuild.proj dosyasında sağlama veya ikili yapı bilgisayarda yaparak yerleşik ikili yapı bilgisayarda kullanılabilir olduğundan emin.
Not
Görev kodu kaynak denetimine denetlemek için alıştırma kodlama iyidir, ancak kesinlikle gerekli değildir.
Özel görev kullanarak bildirerek TfsBuild.proj dosyasında kaydetmek UsingTask MSBuild öğesi.
Daha fazla bilgi için bkz. UsingTask öğe (MSBuild).
<UsingTask TaskName="MyTasks.SimpleTask" AssemblyName="MyAssembly.Build.Tasks"/>
Görev TfsBuild.proj dosyasında istenen hedef ekleyerek çalıştırın.
<Target Name="BeforeGet"> <SimpleTask /> </Target>
Not
Bu etiketi eklemek, xml şeması uyarılar neden olur. Bu uyarılar yok sayabilirsiniz.
Yapı bilgisayarda özel görev içeren dll Dosyasının dağıtın.
Önemli
Özelleştirdiğiniz TfsBuild.proj dosya ile ilişkilendirilmiş her yapı tanımı değişiklikten etkilenir.
Hedef yürütme sırasını
Hedefleri yürütme sırasını durumunun değerine bağlı CleanCompilationOutputOnly özelliği. If CleanCompilationOutputOnly is true, the clean targets (BeforeClean, CoreClean and AfterClean) are executed after the get and label targets (BeforeGet, CoreGet, AfterGet, BeforeLabel, CoreLabel, and AfterLabel). CleanCompilationOutputOnly Özelliği false, temiz hedefleri yürütülen önce get ve etiket hedefler. CleanCompilationOutputOnly Olan true, yalnızca ara derleme sırasında kaynaklar dizininden silinir CoreClean hedef yürütme. Bu özelliği ayarlamak, false, tüm kaynaklar dizinini silinmesi sırasında CoreClean hedef yürütme.
Aşağıdaki tabloda yürütülen açıksa temel hedefleri sıralı listesini gösterir CleanCompilationOutputOnly olan true veya false. Geçersiz kılabileceğiniz hedefleri kalın metin olarak görüntülenir.
CleanCompilationOutputOnly = true |
CleanCompilationOutputOnly = false |
---|---|
|
|
Yürütülürken bir hata oluştuğunda yürütülen hedefler listesi aşağıda verilmektedir CoreCompile hedef. Geçersiz kılabileceğiniz hedefleri kalın metin olarak görüntülenir.
SetBuildBreakProperties
BeforeOnBuildBreak
GetChangesetsOnBuildBreak
BeforeDropBuild
CoreDropBuild
AfterDropBuild
BeforeCreateWorkItem
CoreCreateWorkItem
AfterCreateWorkItem
CoreOnBuildBreak
AfterOnBuildBreak