.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ı
Ö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.dll vb. |
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.dll vb. |
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.