Pustaka klien .NET
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Pustaka klien tersedia untuk pengembang .NET yang membangun aplikasi dan layanan Windows yang terintegrasi dengan Azure DevOps. Pustaka klien terintegrasi dengan pelacakan item kerja, kontrol versi, build, dan layanan lainnya. Paket ini menggantikan alat penginstal OM Klien TFS tradisional dan memudahkan untuk memperoleh dan mendistribusikan ulang pustaka yang diperlukan oleh aplikasi atau layanan Anda.
Tip
Temukan kelas klien .NET dan metode API yang sesuai, menggunakan Sampel Pustaka Klien .NET dan Referensi API Azure DevOps.
Diagram dependensi
Fitur
- Dapat diunduh dari NuGet.org dan mudah diimpor ke proyek Visual Studio Anda
- Pustaka dilisensikan untuk didistribusikan ulang di aplikasi dan layanan Anda (lihat lisensi)
- Mengakses API model objek klien tradisional dan REST API
Catatan
Klien berbasis REST hanya bekerja dengan Azure DevOps dan TFS 2015 atau yang lebih baru. Untuk informasi selengkapnya tentang memperluas dan mengintegrasikan dengan Azure DevOps menggunakan pustaka klien, lihat Memperluas Team Foundation.
Tabel pemetaan versi Paket dan Azure DevOps
Versi paket | Versi Azure DevOps |
---|---|
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 |
Untuk versi pratinjau terbaru, lihat galeri paket NuGet.
Paket REST
Paket dan deskripsi | Binari |
---|---|
Microsoft.VisualStudio.Services.Client Menyediakan akses ke layanan platform bersama melalui REST API publik, seperti organisasi, profil, identitas, keamanan, dan lainnya. |
Microsoft.VisualStudio.Services.WebApi.dll , , Microsoft.VisualStudio.Services.Common.dll Microsoft.TeamFoundation.Common.dll |
Microsoft.TeamFoundationServer.Client Menyediakan akses ke kontrol versi, pelacakan item kerja, build, dan lainnya melalui REST API publik. |
Microsoft.TeamFoundation.Build2.WebApi.dll , , Microsoft.TeamFoundation.Core.WebApi.dll , Microsoft.TeamFoundation.SourceControl.WebApi.dll Microsoft.TeamFoundation.WorkItemTracking.Process.WebApi.dll , Microsoft.TeamFoundation.TestManagement.WebApi.dll , dan sebagainya. |
Microsoft.VisualStudio.Services.InteractiveClient Mendukung aplikasi yang memerlukan masuk interaktif oleh pengguna. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
Microsoft.VisualStudio.Services.Release.Client Menyediakan akses ke Layanan Rilis melalui REST API publik. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Menyediakan model yang digunakan untuk mengakses Layanan Tugas Terdistribusi melalui REST API publik. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
Microsoft.TeamFoundation.DistributedTask.WebApi Menyediakan akses ke Layanan Tugas Terdistribusi melalui REST API publik. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Menyediakan akses ke Service Hooks Service melalui REST API publik. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
Microsoft.VisualStudio.Services.Gallery.WebApi Menyediakan akses ke Gallery Service melalui REST API publik. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
Microsoft.VisualStudio.Services.Notifications.WebApi Menyediakan akses ke Layanan Pemberitahuan melalui REST API publik. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Menyediakan akses ke Layanan Manajemen Ekstensi melalui REST API publik. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Menyediakan akses ke Layanan Pengelolaan Pemberian Hak Anggota melalui REST API publik. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Menyediakan akses ke Titik Akhir Layanan melalui REST API publik. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
Microsoft.VisualStudio.Services.Search.Client Menyediakan akses ke Layanan Pencarian melalui REST API publik. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll , Microsoft.VisualStudio.Services.Search.WebApi.dll |
Microsoft.TeamFoundation.PublishTestResults Tugas ini dapat digunakan untuk Menerbitkan hasil pengujian dan mengunggah lampiran pengujian di Azure DevOps. Format hasil berikut didukung dengan paket ini: 1. JUnit - menerbitkan tes dari proyek Junit, 2. NUnit- menerbitkan tes dari proyek Nunit, 3. VSTest- menerbitkan pengujian dari proyek Visual Studio, 4. Xunit- menerbitkan tes dari proyek Xunit |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
Microsoft.VisualStudio.Services.Audit.WebApi Menyediakan akses ke Layanan Audit melalui REST API publik. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
Microsoft.Azure.Pipelines.Policy.Client Menyediakan akses ke persetujuan, pemeriksaan, dan otorisasi alur melalui REST API publik. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Tip
Jika Anda memiliki aplikasi atau layanan Windows yang sudah ada yang menggunakan Model Objek Klien TFS, gunakan Microsoft.TeamFoundationServer.ExtendedClient
.
Paket sabun
Paket dan deskripsi | Binari |
---|---|
Microsoft.TeamFoundationServer.ExtendedClient Bekerja dengan dan mengelola kontrol versi, item kerja, dan build, serta sumber daya lainnya dari aplikasi klien Anda. Paket ini tidak mendukung Net Standard Client OM. Hanya gunakan paket ini ketika REST API kami tidak menawarkan fungsionalitas yang Anda butuhkan (misalnya, membuat ruang kerja di TFVC) |
Microsoft.TeamFoundation.Build.Client.dll , , Microsoft.TeamFoundation.DeleteTeamProject.dll , Microsoft.TeamFoundation.Git.Client.dll Microsoft.TeamFoundation.Diff.dll , Microsoft.TeamFoundation.SharePointReporting.Integration.dll , dan sebagainya. |
Instal
Instal dari prompt perintah manajer paket NuGet:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Sambungkan
Untuk membuat koneksi terautentikasi ke Azure DevOps, dapatkan HttpClient untuk layanan yang ingin Anda kerjakan, lalu panggil metode terhadap layanan tersebut.
Lihat contoh berikut:
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;
}
Jalur autentikasi yang menghasilkan dialog interaktif tidak tersedia di versi .NET Standard dari pustaka klien .NET. Saat Anda menggunakan versi .NET Standard, berikan kredensial Anda secara lebih eksplisit untuk mengautentikasi, seperti dalam contoh berikut.
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;
}
}
}
Untuk sampel autentikasi lainnya, lihat Sampel .NET.
Referensi
Untuk informasi selengkapnya dan untuk dokumentasi referensi terbaru, lihat browser .NET API.
Sampel
Lihat sampel di Halaman Sampel .NET kami atau langsung di Repositori GitHub .NET kami.
Untuk informasi selengkapnya tentang paket NuGet, lihat Microsoft.VisualStudio.Services.Client.
Masalah umum
Dialog autentikasi interaktif tidak muncul saat menggunakan OM Azure DevOps di Apartemen Berulir Tunggal (STA)
Dialog autentikasi interaktif tidak muncul jika kode Anda berjalan dari Apartemen Berulir Tunggal (STA). Masalah ini biasanya dapat terjadi dari aplikasi WPF . Untuk mengatasi masalah ini, Anda dapat mengubah metode inisialisasi menjadi asinkron dan meminta autentikasi seperti dalam contoh berikut.
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();
...
}
Menggunakan Versi NetStandard 2.0 dari Azure DevOps OM
Untuk versi 16.143.1 dari paket NuGet kami, kami mendukung NetStandard 2.0. Paket ini berkorelasi dengan Azure DevOps Server 2019 RTW dan sepenuhnya kompatibel dengan Azure DevOps.
Paket Microsoft.TeamFoundationServer.ExtendedClient tidak memiliki dukungan NetStandard
Microsoft.TeamFoundationServer.ExtendedClient tidak mendukung versi yang sesuai dengan NetStandard.
Penting
Paket ini mencakup model objek SOAP kami yang lebih lama, yang kami ganti dengan model objek REST kami yang lebih baru. Kami tidak lagi berinvestasi dalam model objek SOAP yang lebih lama, dan tidak memiliki rencana untuk membuat versi NetStandard darinya.