Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
İ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 entegre edilir. Bu paketler uygulamanızın veya hizmetinizin ihtiyaç duyduğu kitaplıkları almayı ve yeniden dağıtmayı kolaylaştırır.
Tavsiye
.NET İstemci Kitaplığı Örnekleri ve Azure DevOps API Başvurusukullanarak ilgili .NET istemci sınıfını ve API yöntemini bulun.
Bağımlılık diyagramı
.NET İstemci Kitaplıklarının Özellikleri
Azure DevOps için .NET istemci kitaplıkları, Windows uygulamalarınızdan ve hizmetlerinizden Azure DevOps'taki hizmetlerle tümleştirmeyi kolaylaştıran çeşitli temel özellikler sunar:
- NuGet.org'den indirilebilir: Kitaplıkları NuGet.org'den indirerek Visual Studio projelerinize kolayca aktarın.
- Yeniden dağıtım lisansı: Kitaplıklar uygulamalarınızda ve hizmetlerinizde yeniden dağıtım için lisanslandırılır. Daha fazla bilgi için lisans görüntüleyebilirsiniz.
- API'lere erişim: Azure DevOps ile program aracılığıyla etkileşim kurmak için hem geleneksel istemci nesne modeli API'lerine hem de REST API'lerine erişim elde edin.
- Talep sınamaları desteği: Sürüm 20.259.0 itibarıyla .NET istemci kitaplıkları artık Sürekli Erişim Değerlendirmesi desteğimizin bir parçası olarak kritik şirket olaylarından sonra (parola sıfırlama, hesap silme vb.) sonra yeniden kimlik doğrulama isteklerini düzgün bir şekilde işlemek için kullanılabilecek talep zorluklarına sahip belirteçler döndürebilir. Python ve Go desteği 2025'in ikinci yarısında gelir.
Paket ve Azure DevOps sürüm eşleme tablosu
Aşağıdaki tabloda .NET istemci kitaplıklarının paket sürümleri Azure DevOps Server'ın ilgili sürümleriyle eşlenmektedir. Hangi paket sürümünün Azure DevOps sürümünüzle ilgili olduğunu belirlemek için bu tabloyu kullanın.
| Paket sürümü | Azure DevOps sürümü |
|---|---|
| 16.205.x | versions >= Azure DevOps Server 2022 |
| 16.170. | versions >= Azure DevOps Server 2020 |
En son önizleme sürümleri için NuGet paketleri galerisinebakın.
REST paketleri
Aşağıdaki tabloda, genel REST API'leri aracılığıyla çeşitli hizmetlere erişmek için kullanılabilecek .NET istemci kitaplıkları listelenmektedir. Bu paketler NuGet.org'dan indirilebilir ve Azure DevOps ile tümleştirmek için gerekli ikili dosyaları sağlarlar.
| 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, test sonuçlarını yayımlamak ve test eklerini Azure DevOps'a 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ımlayın. |
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 |
Tavsiye
Eski SOAP API'leri: TFS İstemci Nesne Modeli'ni kullanan mevcut bir Windows uygulamanız varsa SOAP tabanlı API'ler için kullanın Microsoft.TeamFoundationServer.ExtendedClient . Bu paket yalnızca REST API'ler ihtiyacınız olan belirli işlevleri (TFVC çalışma alanı oluşturma gibi) sağlamadığında önerilir. Bu paket .NET Standard'ı desteklemez ve Microsoft artık SOAP tabanlı API'lere yatırım yapmıyor.
Sabun paketi
Aşağıdaki tabloda SOAP API'leri aracılığıyla çeşitli hizmetlere erişmek için kullanılabilecek .NET istemci kitaplıkları listelenmektedir. Bu paketler NuGet.org'dan indirilebilir ve Azure DevOps ile tümleştirmek için gerekli ikili dosyaları sağlarlar. Bu paketleri yalnızca REST API'leri ihtiyacınız olan işlevselliği sunmadığında (örneğin, TFVC'de çalışma alanları oluşturma) kullanın.
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 collectionUri = "https://dev.azure.com/fabrikam";
const string projectName = "MyGreatProject";
const string repoName = "MyRepo";
const string accessToken = "your-microsoft-entra-id-token";
Uri orgUrl = new Uri(collectionUri);
// Connect to Azure DevOps using Microsoft Entra ID token
VssConnection connection = new VssConnection(orgUrl, new VssBasicCredential(string.Empty, accessToken));
// 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(projectName, 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 accessToken = "your-microsoft-entra-id-token";
static void Main(string[] args)
{
var creds = new VssBasicCredential(string.Empty, accessToken);
// Connect to Azure DevOps Services using Microsoft Entra ID token
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;
}
}
}
Tavsiye
Microsoft Entra Id kimlik doğrulaması: Önceki örneklerde kimlik doğrulaması için Microsoft Entra ID belirteçleri kullanılır. Daha fazla bilgi için bkz. Microsoft Entra kullanarak Azure DevOps'ta kimlik doğrulaması yapma.
Daha fazla kimlik doğrulama örneği için bkz. .NET Örnekleri .
Referans
Daha fazla bilgi ve up-totarihli referans belgeleri konusunda .NET API tarayıcısınabakın.
Örnekler
.NET Örnekleri Sayfamızdaki ö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ı Apartman (STA) modunda Azure DevOps OM kullanılırken etkileşimli kimlik doğrulama iletişim kutusu görünmüyor.
Kodunuzun Tek İş Parçacıklı Daire (STA) tarafından çalıştırıldığı durumlarda etkileşimli kimlik doğrulaması 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);
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
await vssConnection.ConnectAsync(token);
...
}
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 ile ilişkilendirilir ve Azure DevOps ile tamamen uyumludur.
Microsoft.TeamFoundationServer.ExtendedClient paketinin NetStandard desteği yok
Microsoft.TeamFoundationServer.ExtendedClient NetStandard uyumlu 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.