Aracılığıyla paylaş


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

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

  2. Ö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"/>
    
  3. 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.

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

  1. InitializeBuildProperties

  2. BeforeEndToEndIteration

  3. BuildNumberOverrideTarget

  4. InitializeEndToEndIteration

  5. BeforeInitializeWorkspace

  6. CoreInitializeWorkspace

  7. AfterinitializeWorkspace

  8. InitializeBuild

  9. BeforeGet

  10. CoreGet

  11. AfterGet

  12. BeforeLabel

  13. CoreLabel

  14. AfterLabel

  15. BeforeClean

  16. CoreCleanCompilationOutput

  17. AfterClean

  18. BeforeCompile

  19. CoreCompile (her platform/yapılandırma birleşimi için)

  20. BeforeCompileConfiguration

  21. CoreCompileConfiguration (için oluşturmak her çözümü)

  22. BeforeCompileSolution

  23. CoreCompileSolution

  24. AfterCompileSolution

  25. AfterCompileConfiguration

  26. AfterCompile

  27. BeforeGetChangesetsAndUpdateWorkItems

  28. CoreGetChangeSetsAndUpdateWorkItems

  29. AfterGetChangesetsAndUpdateWorkItems

  30. BeforeTest

  31. CoreTest (her platform/yapılandırma birleşimi için)

  32. BeforeTestConfiguration

  33. CoreTestConfiguration

  34. AfterTestConfiguration

  35. AfterTest

  36. GenerateDocumentation

  37. BeforeDropBuild

  38. CoreDropBuild

  39. AfterDropBuild

  40. AfterEndToEndIteration

  1. InitializeBuildProperties

  2. BeforeEndToEndIteration

  3. BuildNumberOverrideTarget

  4. InitializeEndToEndIteration

  5. BeforeInitializeWorkspace

  6. CoreInitializeWorkspace

  7. AfterInitializeWorkspace

  8. BeforeClean

  9. CoreClean

  10. AfterClean

  11. InitializeBuild

  12. BeforeGet

  13. CoreGet

  14. AfterGet

  15. BeforeLabel

  16. CoreLabel

  17. AfterLabel

  18. BeforeCompile

  19. CoreCompile (her platform/yapılandırma birleşimi için)

  20. BeforeCompileConfiguration

  21. CoreCompileConfiguration (için oluşturmak her çözümü)

  22. BeforeCompileSolution

  23. CoreCompileSolution

  24. AfterCompileSolution

  25. AfterCompileConfiguration

  26. AfterCompile

  27. BeforeGetChangesetsAndUpdateWorkItems

  28. CoreGetChangeSetsAndUpdateWorkItems

  29. AfterGetChangesetsAndUpdateWorkItems

  30. BeforeTest

  31. CoreTest (her platform/yapılandırma birleşimi için)

  32. BeforeTestConfiguration

  33. CoreTestConfiguration

  34. AfterTestConfiguration

  35. AfterTest

  36. GenerateDocumentation

  37. BeforeDropBuild

  38. CoreDropBuild

  39. AfterDropBuild

  40. AfterEndToEndIteration

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.

  1. SetBuildBreakProperties

  2. BeforeOnBuildBreak

  3. GetChangesetsOnBuildBreak

  4. BeforeDropBuild

  5. CoreDropBuild

  6. AfterDropBuild

  7. BeforeCreateWorkItem

  8. CoreCreateWorkItem

  9. AfterCreateWorkItem

  10. CoreOnBuildBreak

  11. AfterOnBuildBreak

Ayrıca bkz.

Kavramlar

Anlama Team Foundation yapılandırma dosyaları oluşturma

Özelleştirilebilir Team Foundation yapı özellikleri