Özel yapı işlemi etkinlikleri kullanma ve geliştirme

"C Sharp etkinliğinden"hello World"

Özel bir yapı işlemi şablonu oluşturduktan sonra, Windows Workflow yönergelerini ve yerleşik Team Foundation Yapısı (TFBuild) etkinliklerini kullanarak kendi iş mantığınızı uygulayabilirsiniz.Bu araçlar yeterli değilse, üçüncü tarafların etkinliklerini kullanabilir veya gerekirse CodeActivity öğesinde kendi .NET Framework kodunuzu uygulayabilirsiniz.

İpucuİpucu

Özel yapı işleminin işlevi Windows toplu iş dosyası veya PowerShell betiğinde kodlanmış olabilir; komutunuzu yükleyebilir ve yapı işleminizin bir parçası olarak çalıştırabilirsiniz.Bu yaklaşım, özel bir yapı işlemi oluşturmaktan daha hızlı ve basit olabilir.Bkz. Yapı işleminizde betik çalıştırma.

  • Özel bir yapı işlemi etkinliği oluşturma

  • Yapı işlemi şablonunuzu düzenleme

  • Özel yapı işleminizin karşıya yükleme

    • TFVC simgesiTFVC takım projesinde özel yapı işleminizi karşıya yükleme ve etkinleştirme

    • Git simgesiGit takım projesinde özel yapı işleminizi karşıya yükleme ve etkinleştirme

  • Özel yapı işleminizi etkinleştirme

  • Yapıyı çalıştırma

  • Soru - Yanıt

"Yapı Özet içinde"hello World"

Özel bir yapı işlemi etkinliği oluşturma

Önemli notÖnemli

Başlamadan önce, şablonun bir kopyasını alın ve bir kod projesine yerleştirin.Bunu henüz yapmadıysanız, aşağıda nasıl yapılacağını görebilirsiniz.

Yapı işlemi etkinliğinizi yapı işlemi şablonlarınızla aynı çözümde geliştirmeniz gerekir.Bu şekilde çalışarak, işlem şablonunuzda etkinliklerinizden birini kullanmanız gerektiğinde, etkinlik iş akışı tasarımcısı araç kutusunda kullanılabilir.Ancak, etkinliklerinizin kaynak kodunu yapı işlemi şablonlarınızı içeren projeden farklı bir kod projesinde tutmanız gerekir.

  1. Yapı işlemi şablonu kod projenizi içeren çözüme yeni bir C# veya Visual Basic kod projesi ekleyin.

    BuildProcessSource çözüm için yeni proje

    Yeni Proje

  2. Yeni kod projenize aşağıdaki başvuruları ekleyin:

    Bu başvuruları kod projesine nasıl ekleyebilirim?

    Kod projesini kaydedin.

  3. Projeye yeni bir etkinlik ekleyin.

    Kaynak kodu projesi için yeni öğesi

    Yeni Öğe Ekle

  4. CodeActivity uygulayın. Örneğin, Hello.cs:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Activities;
    using Microsoft.TeamFoundation.Build.Workflow.Activities;
    using Microsoft.TeamFoundation.Build.Client;
    using Microsoft.TeamFoundation.Build.Workflow.Tracking;
    
    namespace BuildProcessSource
    {
        // enable the build process template to load the activity
        [BuildActivity(HostEnvironmentOption.All)]
        // keep the internal activity operations from appearing in the log
        [ActivityTracking(ActivityTrackingOption.ActivityOnly)]
        public sealed class Hello : CodeActivity
        {
            // Define an activity input argument of type string
            public InArgument<string> SayHelloTo { get; set; }
    
            // If your activity returns a value, derive from CodeActivity<TResult>
            // and return the value from the Execute method.
            protected override void Execute(CodeActivityContext context)
            {
                // Obtain the runtime value of the Text input argument
                string text = context.GetValue(this.SayHelloTo);
    
                // Add our default value if we did not get one
                if (text == null || text == "")
                {
                    text = "World";
                }
    
                // Write the message to the log
                context.TrackBuildWarning("Hello " + text, BuildMessageImportance.High);
            }
        }
    }
    

    Activity1.xaml dosyasına ihtiyacınız yoktur, bu nedenle isterseniz silebilirsiniz.

  5. Visual Studio'da çözümünüzü oluşturun (Klavye: Ctrl + Shift + B).

İşiniz bittiğinde, çözümünüz şöyle görünmelidir:

Bir özel yapı işlemi çözüm örneği

Yapı işlemi şablonunuzu düzenleme

Çözümünüzden, yapı işlem şablonunuzu etkinlikleri ona sürükleyerek düzenleyin.Etkinlik şablona eklendikten sonra, özelliklerini ayarlayın (Klavye: F4).

Bir çözüm bir yapı işlem şablonuna düzenleme

İşiniz bittiğinde, şablonu kaydedin.

Özel yapı işleminizin karşıya yükleme

Özel yapı işlemi şablonunuzu ve etkinliğinizi kullanan bir yapı tanımlayabilmeniz için önce bunları karşıya yüklemeniz ve etkinleştirmeniz gerekir.

  • TFVC simgesiTFVC takım projesinde özel yapı işleminizi karşıya yükleme ve etkinleştirme

  • Git simgesiGit takım projesinde özel yapı işleminizi karşıya yükleme ve etkinleştirme

TFVC takım projesinde özel yapı işleminizi karşıya yükleme

TFVC simgesi TFVC takım projesinde:

  1. Çözümünüzü (Klavye Ctrl + Shift + B) oluşturduğunuzdan emin olun.

  2. Yapı işlemi kaynağınızı depolamayı planladığınız yerde takım projesine bağlanın (Klavye: Ctrl + 0, C).

  3. Kaynak Denetimi Gezgini'nden etkinlik kodu projenizi içeren klasöre öğeler ekleyin.

    Kaynak denetimi gezginini

  4. .dll dosyasını içeren klasörü bulun ve seçin.Örneğin, C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Source\bin\Debug.

    Yapı sürecini ikili TFVC sürüm denetimine ekleyin

  5. Dosya ekleme işlemini tamamlayın.

    Yapı sürecini ikili TFVC sürüm denetimine ekleyin

  6. Değişikliklerinizi iade edin.

    Bekleyen değişiklikler

Git takım projesinde özel yapı işleminizi karşıya yükleme

Git simgesi Git takım projesinde:

  1. Önemli:

    • İkili dosyaların (özellikle de büyük dosyalarda yapılan çok sayıda düzeltmenin) depolanması Git deponuzun boyutunu şişirebilir.Özel yapı işlemi ikili dosyalarınızı, uygulamanızı oluşturduğunuz kodda ayrı olan bir depoda depolamanızı öneririz.Bu amaç için ayrı bir takım projesi oluşturabilir veya varolan takım projenizde ek bir depo oluşturabilirsiniz.

    • İkili dosyalarınızı Git deposundaki bir alt klasörde depolamanız gerekir.İkili dosyaları kök klasöründe kullanmayı denerseniz, git dalı bulunamadı hata iletisi tarafından engellenebilirsiniz.

  2. Çözümünüzü (Klavye Ctrl + Shift + B) oluşturduğunuzdan emin olun.

  3. Yapı işlemi kaynağınızı depolamayı planladığınız yerde takım projesine bağlanın (Klavye: Ctrl + 0, C).

  4. Git komut istemini açın.

    Değişiklikleri sayfasından komut istemini açın

    S: Komut istemini açamıyorum. Ne yapmam gerekir?Y:Git komut istemini etkinleştirin.

  5. .dll dosyasını eklemek için Git komut istemini kullanın.Örneğin:

    cd c:\users\YourName\source\repos\BuildProcesses\BuildProcessSource\Source\bin\Debug
    
    git add Source.dll -f
    
  6. Değişikliklerinizi kaydedin.

    Kaydet düğmesi değişiklikleri sayfasında

  7. Kaydınızı eşitleyin veya gönderin.

    Eşitleme bağlantısı değişiklikler sayfası

    Eşitleme düğmesi ve eşitlenmemiş tamamlama sayfasında gönderme bağlantısı

Özel yapı işleminizi etkinleştirme

Özel yapı işleminizi çalıştırmak için önce yapı denetleyicisini TFS'ye yüklediğiniz ikili dosyalara yöneltmeniz ve yapı tanımınızda yapı işlemi şablonunu seçmeniz gerekir.

  1. Yapılar sayfasında (Klavye: Ctrl + 0, B) Eylemler'i ve ardından Yapı Denetleyicilerini Yönet'i seçin.

  2. Yapı Denetleyicilerini Yönet iletişim kutusunda, bu yapı işlemini çalıştırmak için kullanacağınız denetleyiciyi vurgulayın ve Özellikler'i seçin.

    Mange Yapı denetleyicilerini iletişim kutusu

  3. Özel derlemelerin sürüm denetimi yolunu belirtin.

    Yapı Denetleyicisi Özellikleri iletişim kutusu

    VisualStudioEllipsesButton ekran görüntüsü Yukarıdaki adımlarda yapı işleminizi yüklediğiniz klasörün üstü olan bir klasöre göz atın.

    • TFVC simgesi TFVC örneği: $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug

    • Git simgesi Git örneği: BuildProcessSource/Source/Bin/Debug

      Git değerleri gösteren iletişim kutusu Gözat

      Sistem girdiğiniz değeri otomatik olarak vstfs yoluna dönüştürür.Örneğin: vstfs:///Git/VersionedItem/FabrikamGit/BuildProcesses/master/BuildProcessSource/Source/Bin/Debug.

      Derlemeleri sürüm denetim yolu

  4. Henüz yapmadıysanız, bir yapı tanımı oluşturun veya değiştirin ve özel yapı işlemi şablonunuzu seçin.

    Yapı tanımı özel işlem şablonuna sahip

Yapıyı çalıştırma

Yapıyı sıraya alın.Sonuç şöyle görünmelidir:

"Merhaba Dünya" içinde özeti oluşturun

Soru - Yanıt

S: İznim olmadığı için sistem tarafından engellendim.Nasıl izin alabilirim?

Y: Team Foundation Server izinleri

S: TFBuild iş akışı ile çalışmak için ihtiyacım olan başvuruları nasıl ekleyebilirim?

Y: Başvuruları eklemek için başvuru yöneticisini kullanın

Kod projesi başvurularını görüntüleyin ve başvuru yöneticisini açın.

Reerences bağlam menüsü

Referans Yöneticisi iletişim kutusu

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0 yoluna göz atın ve şunu seçip ekleyin:

İletişim kutusu başvurmak için dosyaları seçin

Referans Yöneticisi iletişim kutusu

S: Özel yapı işlemimde neler hatalara neden oluyor?

Y:Hataların bazı yaygın nedenleri.

S: Windows Workflow Foundation nedir?Bunu nasıl kullanabilirim?

A:Windows Workflow Foundation.

S: Yerleşik etkinlikler hakkında nereden bilgi alabilirim?

Y:Team Foundation Yapısı etkinlikleri

S: Yapı işlem şablonlarını, iş akışı etkinlikleri ve betikleri nereden alabilirim?

A:Community TFS Build Extensions

S: Özel işlem şablonları geliştirme hakkında nereden daha fazla bilgi alabilirim?

A:Curated answer: Customize your Team Foundation Build process