Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
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 memudahkan untuk memperoleh dan mendistribusikan ulang pustaka yang diperlukan oleh aplikasi atau layanan Anda.
Nasihat
Temukan kelas klien .NET dan metode API yang sesuai, menggunakan Sampel Pustaka Klien .NET dan Referensi API Azure DevOps.
Diagram dependensi
diagram Dependensi 
Fitur Pustaka Klien .NET
Pustaka klien .NET untuk Azure DevOps menawarkan beberapa fitur utama yang memudahkan integrasi dengan layanan dalam Azure DevOps dari aplikasi dan layanan Windows Anda:
- Dapat diunduh dari NuGet.org: Dengan mudah mengimpor pustaka ke proyek Visual Studio Anda dengan mengunduhnya dari NuGet.org.
- Berlisensi untuk redistribusi: Perpustakaan perangkat lunak ini berlisensi untuk redistribusi dalam aplikasi dan layanan Anda. Anda dapat melihat lisensi untuk detail lebih lanjut.
- Akses ke API: Mendapatkan akses ke API model objek klien tradisional dan API REST untuk berinteraksi dengan Azure DevOps secara terprogram.
- Dukungan tantangan klaim: Mulai versi 20.259.0, pustaka klien .NET sekarang dapat mengembalikan token dengan tantangan klaim yang dapat digunakan untuk menangani permintaan otentikasi ulang dengan baik setelah peristiwa perusahaan penting (misalnya: reset kata sandi, penghapusan akun, dll.) sebagai bagian dari dukungan kami untuk Evaluasi Akses Berkelanjutan. Dukungan Python dan Go akan tersedia pada paruh kedua tahun 2025.
Tabel pemetaan versi paket dan Azure DevOps
Tabel berikut memetakan versi paket pustaka klien .NET ke versi Azure DevOps Server yang sesuai. Gunakan tabel ini untuk menentukan versi paket mana yang sesuai dengan versi Azure DevOps Anda.
| Versi paket | versi Azure DevOps |
|---|---|
| 16.205.x | versions >= Azure DevOps Server 2022 |
| 16.170.x | versions >= Azure DevOps Server 2020 |
Untuk versi pratinjau terbaru, lihat galeri paket NuGet .
Paket REST
Tabel berikut mencantumkan pustaka klien .NET yang tersedia untuk mengakses berbagai layanan melalui REST API publik. Paket ini dapat diunduh dari NuGet.org dan menyediakan biner yang diperlukan untuk diintegrasikan dengan Azure DevOps.
| 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.WorkItemTracking.Process.WebApi.dll, Microsoft.TeamFoundation.SourceControl.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 pengujian 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 |
Nasihat
Legacy SOAP API: Jika Anda memiliki aplikasi Windows yang sudah ada yang menggunakan Model Objek Klien TFS, gunakan Microsoft.TeamFoundationServer.ExtendedClient untuk API berbasis SOAP. Paket ini hanya direkomendasikan ketika REST API tidak menyediakan fungsionalitas tertentu yang Anda butuhkan (seperti pembuatan ruang kerja TFVC). Paket ini tidak mendukung .NET Standard dan Microsoft tidak lagi berinvestasi dalam API berbasis SOAP.
Paket sabun
Tabel berikut mencantumkan pustaka klien .NET yang tersedia untuk mengakses berbagai layanan melalui API SOAP. Paket ini dapat diunduh dari NuGet.org dan menyediakan biner yang diperlukan untuk diintegrasikan dengan Azure DevOps. Hanya gunakan paket ini saat REST API tidak menawarkan fungsionalitas yang Anda butuhkan, misalnya, membuat ruang kerja di TFVC.
| Paket dan deskripsi | Biner |
|---|---|
|
Microsoft.TeamFoundationServer.ExtendedClient Bekerja dengan dan mengelola kontrol versi, item kerja, build, dan 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.Diff.dll, Microsoft.TeamFoundation.Git.Client.dll, Microsoft.TeamFoundation.SharePointReporting.Integration.dll, dan sebagainya. |
Instalasi
Instalasi dari prompt perintah NuGet package manager:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Sambung
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 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;
}
Jalur autentikasi yang menghasilkan dialog interaktif tidak tersedia di versi Standar .NET 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 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;
}
}
}
Nasihat
Microsoft Entra ID autentikasi: Contoh sebelumnya menggunakan token Microsoft Entra ID untuk autentikasi. Untuk informasi lebih lanjut, lihat Autentikasi ke Azure DevOps menggunakan Microsoft Entra.
Untuk sampel autentikasi lainnya, lihat Sampel .NET.
Referensi
Untuk dokumentasi referensi terbaru dan informasi selengkapnya, lihat browser .NET API.
Contoh-contoh
Lihat sampel di Halaman Sampel .NET kami.
Untuk informasi selengkapnya tentang paket NuGet, lihat Microsoft.VisualStudio.Services.Client.
Masalah yang diketahui
Dialog autentikasi interaktif tidak muncul saat menggunakan Azure DevOps OM di Apartemen Berulir Tunggal (STA)
Dialog autentikasi interaktif tidak muncul jika kode Anda berjalan dari Single Threaded Apartment (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);
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
await vssConnection.ConnectAsync(token);
...
}
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 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.