.NET istemci kitaplıkları

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

İstemci kitaplıkları, Azure DevOps ile tümleşen Windows uygulamaları ve hizmetleri oluşturan .NET geliştiricileri tarafından kullanılabilir. İstemci kitaplıkları iş öğesi izleme, sürüm denetimi, derleme ve diğer hizmetlerle tümleştirilir. Bu paketler geleneksel TFS İstemci OM yükleyicisinin yerini alır ve uygulamanız veya hizmetiniz için gereken kitaplıkları almayı ve yeniden dağıtmayı kolaylaştırır.

İpucu

.NET İstemci Kitaplığı Örnekleri ve Azure DevOps API Başvurusu'nu kullanarak ilgili .NET istemci sınıfını ve API yöntemini bulun.

Bağımlılık diyagramı

Bağımlılık diyagramı Services.Client, Services.InteractiveClient ve TeamFoundationServer.Client arasındaki ilişkiyi gösterir.

Özellikler

  • NuGet.org indirilebilir ve Visual Studio projelerinize kolayca aktarılabilir
  • Kitaplıklar uygulamalarınızda ve hizmetlerinizde yeniden dağıtım için lisanslandırılır (lisansı görüntüleyin)
  • Hem geleneksel istemci nesne modeli API'lerine hem de REST API'lerine erişme

Not

REST tabanlı istemciler yalnızca Azure DevOps ve TFS 2015 veya sonraki sürümlerle çalışır. İstemci kitaplıklarını kullanarak Azure DevOps ile genişletme ve tümleştirme hakkında daha fazla bilgi için bkz . Team Foundation'ı Genişletme.

Paket ve Azure DevOps sürüm eşleme tablosu

Paket sürümü Azure DevOps sürümü
16.205.x versions >= Azure DevOps Server 2022
16.170.x versions >= Azure DevOps Server 2020
16.153.x versions >= Azure DevOps Server 2019 Update 1
16.143.x versions >= Azure DevOps Server 2019
15.131.x versions >= TFS 2018 Update 1
15.112.x versions >= TFS 2017 Update 1
14.102.x versions >= TFS 2015 Update 3
14.95.x versions >= TFS 2015 Update 2
14.89.x versions >= TFS 2015 Update 1
14.83.x versions >= TFS 2015

En son önizleme sürümleri için NuGet paketleri galerisine bakın.

REST paketleri

Paketler ve açıklama İkililer
Microsoft.VisualStudio.Services.Client
Kuruluş, profil, kimlik, güvenlik ve daha fazlası gibi genel REST API'leri aracılığıyla paylaşılan platform hizmetlerine erişim sağlar.
Microsoft.VisualStudio.Services.WebApi.dll, Microsoft.VisualStudio.Services.Common.dll, Microsoft.TeamFoundation.Common.dll
Microsoft.TeamFoundationServer.Client
Genel REST API'leri aracılığıyla sürüm denetimine, iş öğesi izlemeye, derlemeye ve daha fazlasına erişim sağlar.
Microsoft.TeamFoundation.Build2.WebApi.dll, Microsoft.TeamFoundation.Core.WebApi.dll, Microsoft.TeamFoundation.WorkItemTracking.Process.WebApi.dll, Microsoft.TeamFoundation.SourceControl.WebApi.dll, , Microsoft.TeamFoundation.TestManagement.WebApi.dllvb.
Microsoft.VisualStudio.Services.InteractiveClient
Bir kullanıcı tarafından etkileşimli oturum açma gerektiren uygulamaları destekler.
Microsoft.VisualStudio.Services.Client.Interactive.dll
Microsoft.VisualStudio.Services.Release.Client
Genel REST API'leri aracılığıyla Yayın Hizmeti'ne erişim sağlar.
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll
Microsoft.TeamFoundation.DistributedTask.Common.Contracts
Dağıtılmış Görev Hizmeti'ne genel REST API'leri aracılığıyla erişmek için kullanılan modelleri sağlar.
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll
Microsoft.TeamFoundation.DistributedTask.WebApi
Dağıtılmış Görev Hizmeti'ne genel REST API'leri aracılığıyla erişim sağlar.
Microsoft.TeamFoundation.DistributedTask.WebApi.dll
Microsoft.VisualStudio.Services.ServiceHooks.WebApi
Genel REST API'leri aracılığıyla Hizmet Kancaları Hizmetine erişim sağlar.
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll
Microsoft.VisualStudio.Services.Gallery.WebApi
Genel REST API'leri aracılığıyla Galeri Hizmeti'ne erişim sağlar.
Microsoft.VisualStudio.Services.Gallery.WebApi.dll
Microsoft.VisualStudio.Services.Notifications.WebApi
Bildirim Hizmeti'ne genel REST API'leri aracılığıyla erişim sağlar.
Microsoft.VisualStudio.Services.Notifications.WebApi.dll
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi
Uzantı Yönetimi Hizmeti'ne genel REST API'leri aracılığıyla erişim sağlar.
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi
Genel REST API'leri aracılığıyla Üye Yetkilendirme Yönetim Hizmeti'ne erişim sağlar.
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi
Genel REST API'leri aracılığıyla Hizmet Uç Noktalarına erişim sağlar.
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll
Microsoft.VisualStudio.Services.Search.Client
Genel REST API'leri aracılığıyla Arama Hizmeti'ne erişim sağlar.
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll, Microsoft.VisualStudio.Services.Search.WebApi.dll
Microsoft.TeamFoundation.PublishTestResults
Bu görev, Azure DevOps'ta test sonuçlarını yayımlamak ve test eklerini karşıya yüklemek için kullanılabilir. Bu pakette aşağıdaki sonuç biçimleri desteklenir: 1. JUnit - Junit projelerinden testleri yayımlama, 2. NUnit- Nunit projelerinden testleri yayımlama, 3. VSTest- Visual Studio projelerinden testleri yayımlama, 4. Xunit- Xunit projelerinden testleri yayımlama
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll
Microsoft.VisualStudio.Services.Audit.WebApi
Genel REST API'leri aracılığıyla Denetim Hizmeti'ne erişim sağlar.
Microsoft.VisualStudio.Services.Audit.WebApi.dll
Microsoft.Azure.Pipelines.Policy.Client
Genel REST API'leri aracılığıyla işlem hattı onaylarına, denetimlerine ve yetkilendirmesine erişim sağlar.
Microsoft.Azure.Pipelines.Policy.Client.dll

İpucu

TFS İstemci Nesne Modeli'ni kullanan mevcut bir Windows uygulamanız veya hizmetiniz varsa kullanın Microsoft.TeamFoundationServer.ExtendedClient.

Sabun paketi

Paket ve açıklama İkililer
Microsoft.TeamFoundationServer.ExtendedClient
İstemci uygulamanızdan sürüm denetimi, iş öğeleri, derleme ve diğer kaynaklarla çalışın ve yönetin. Bu paket Net Standart İstemci OM'sini desteklemez. Bu paketi yalnızca REST API'lerimiz ihtiyacınız olan işlevselliği sunmadığında kullanın (örneğin, TFVC'de çalışma alanları oluşturma)
Microsoft.TeamFoundation.Build.Client.dll, Microsoft.TeamFoundation.DeleteTeamProject.dll, Microsoft.TeamFoundation.Diff.dll, Microsoft.TeamFoundation.Git.Client.dll, , Microsoft.TeamFoundation.SharePointReporting.Integration.dllvb.

Yükleme

NuGet paket yöneticisi komut isteminden yükleyin:

PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient

Bağlan

Azure DevOps'a kimliği doğrulanmış bir bağlantı oluşturmak için, çalışmak istediğiniz hizmet için bir HttpClient alın ve ardından bu hizmete karşı yöntemleri çağırın.

Aşağıdaki örneklere bakın:

using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.Client;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.VisualStudio.Services.WebApi;

const String c_collectionUri = "https://dev.azure.com/fabrikam";
const String c_projectName = "MyGreatProject";
const String c_repoName = "MyRepo";

Uri orgUrl = new Uri(c_collectionUri);

// Connect to Azure DevOps Services
VssConnection connection = new VssConnection(orgUrl, new VssBasicCredential(string.Empty, personalAccessToken));

// Get a GitHttpClient to talk to the Git endpoints
using (GitHttpClient gitClient = connection.GetClient<GitHttpClient>())
{
    // Get data about a specific repository
    var repo = gitClient.GetRepositoryAsync(c_projectName, c_repoName).Result;
}

Etkileşimli iletişim kutusu oluşturan kimlik doğrulama yolları, .NET istemci kitaplıklarının .NET Standart sürümünde kullanılamaz. .NET Standard sürümünü kullanırken kimlik bilgilerinizi aşağıdaki örnekte olduğu gibi kimlik doğrulaması için daha açık bir şekilde sağlayın.

using System;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.WebApi;

namespace ConsoleApp1
{
    class Program
    {
        const string collectionUri = "https://dev.azure.com/fabrikam";
        const string projectName = "MyGreatProject";
        const string repoName = "MyRepo";
        const string pat = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

        static void Main(string[] args)
        {
            var creds = new VssBasicCredential(string.Empty, pat);
            
            // Connect to Azure DevOps Services
            var connection = new VssConnection(new Uri(collectionUri), creds);
            
            // Get a GitHttpClient to talk to the Git endpoints
            using var gitClient = connection.GetClient<GitHttpClient>();
            
            // Get data about a specific repository
            var repo = gitClient.GetRepositoryAsync(projectName, repoName).Result;
        }
    }
}

Daha fazla kimlik doğrulama örneği için bkz . .NET Örnekleri.

Başvuru

Daha fazla bilgi ve güncel başvuru belgeleri için .NET API tarayıcısına bakın.

Örnekler

.NET Örnekleri Sayfamızdan veya doğrudan .NET GitHub Depomuzdan örneklere göz atın.

NuGet paketleri hakkında daha fazla bilgi için bkz . Microsoft.VisualStudio.Services.Client.

Bilinen sorunlar

Tek İş Parçacıklı Dairede (STA) Azure DevOps OM kullanılırken etkileşimli kimlik doğrulaması iletişim kutusu görünmüyor

Kodunuzun Tek İş Parçacıklı Bir Daireden (STA) çalıştırıldığı durumlarda etkileşimli kimlik doğrulama iletişim kutusu görüntülenmez. Bu sorun genellikle WPF uygulamalarından oluşabilir. Bu sorunu geçici olarak çözmek için başlatma yönteminizi zaman uyumsuz olarak değiştirebilir ve aşağıdaki örnekte olduğu gibi kimlik doğrulaması isteyebilirsiniz.

async void InitAzureDevOps()
{
    Uri _uri = new Uri("https://dev.azure.com/MyAccount/");

    var creds = new VssClientCredentials(new WindowsCredential(false),
                                         new VssFederatedCredential(false),
                                         CredentialPromptType.PromptIfNeeded);

    VssConnection vssConnection = new VssConnection(_uri, creds);
    await vssConnection.ConnectAsync();

    ...

}

Azure DevOps OM'nin NetStandard 2.0 sürümlerini kullanma

NuGet paketlerimizin 16.143.1 sürümü için NetStandard 2.0'ı destekliyoruz. Bu paketler Azure DevOps Server 2019 RTW ile ilişkilendirilir ve Azure DevOps ile tamamen uyumludur.

Microsoft.TeamFoundationServer.ExtendedClient paketinin NetStandard desteği yok

Microsoft.TeamFoundationServer.ExtendedClient, NetStandard uyumlu bir sürümü desteklemez.

Önemli

Bu paket, yeni REST nesne modelimizle değiştirdiğimiz eski SOAP nesne modelimizi içerir. Artık eski SOAP nesne modeline yatırım yapmayız ve bunun NetStandard sürümünü oluşturma planlarımız yoktur.