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 hizmetler oluşturan .NET geliştiriciler için 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şvurusu kullanarak 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 hizmetleriyle tümleştirmeyi kolaylaştıran çeşitli temel özellikler sunar:
- NuGet.org'dan İndirilebilir: Kitaplıkları NuGet.org'dan indirerek Visual Studio projelerinize kolayca ekleyin.
- 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şin: Azure DevOps program aracılığıyla etkileşim kurmak için hem geleneksel istemci nesne modeli API'lerine hem de REST API'lerine erişin.
- Hak talepleri zorlukları desteği: Sürüm 20.259.0 itibarıyla, .NET istemci kitaplıkları artık kritik şirket olaylarından sonra (şifre sıfırlamaları, hesap silme vb. gibi) yeniden kimlik doğrulama isteklerini düzgün bir şekilde işlemek için kullanılabilecek hak talepleri zorlukları belirteçlerini döndürebilir, bu da Sürekli Erişim Değerlendirmesi desteğimizin bir parçasıdır. 2025'in ikinci yarısında Python ve Git desteği gelecek.
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 karşılık gelen 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.x | 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ğlayabilir.
| 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 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ımlayın, 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
Legacy SOAP API'leri: TFS İstemci Nesne Modeli'ni kullanan bir Windows uygulamanız varsa SOAP tabanlı API'ler için Microsoft.TeamFoundationServer.ExtendedClient kullanın. 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ğlayabilir. 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 hizmete yönelik bir HttpClient alın ve ardından o hizmete yönelik 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 Standart 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 authentication: Önceki örneklerde kimlik doğrulaması için Microsoft Entra ID belirteçleri kullanılır. Daha fazla bilgi için bkz. Authenticate to Azure DevOps using Microsoft Entra.
Daha fazla kimlik doğrulama örneği için bkz. .NET Samples.
Referans
Daha fazla bilgi ve güncel başvuru belgeleri için .NET API tarayıcısı'na bakın.
Örnekler
.NET Örnekler Sayfamız üzerindeki ö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ı Apartmanda (STA) 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.