Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Clientbibliotheken zijn beschikbaar voor .NET-ontwikkelaars die Windows-apps en -services bouwen die kunnen worden geïntegreerd met Azure DevOps. Clientbibliotheken kunnen worden geïntegreerd met het bijhouden van werkitems, versiebeheer, build en andere services. Met deze pakketten kunt u eenvoudig de bibliotheken verkrijgen en herdistribueren die nodig zijn voor uw app of service.
Hint
Zoek de bijbehorende .NET-clientklasse en API-methode met behulp van .NET-clientbibliotheekvoorbeelden en Azure DevOps API Reference.
Afhankelijkheidsdiagram
Functies van .NET-clientbibliotheken
De .NET-clientbibliotheken voor Azure DevOps bieden verschillende belangrijke functies waarmee u eenvoudig kunt integreren met services in Azure DevOps vanuit uw Windows-toepassingen en -services:
- Downloadbaar vanuit NuGet.org: importeer de bibliotheken eenvoudig in uw Visual Studio-projecten door ze te downloaden van NuGet.org.
- gelicentieerd voor herdistributie: de bibliotheken zijn gelicentieerd voor herdistributie in uw apps en services. U kunt de licentie bekijken voor meer informatie.
- Toegang tot API's: krijg toegang tot zowel traditionele API's voor clientobjectmodellen als REST API's om programmatisch met Azure DevOps te communiceren.
- Ondersteuning voor claims: vanaf versie 20.259.0 kunnen .NET-clientbibliotheken nu tokens retourneren met claimsuitdagingen die kunnen worden gebruikt om aanvragen voor opnieuw verifiëren correct af te handelen na kritieke bedrijfsgebeurtenissen (bijvoorbeeld het opnieuw instellen van wachtwoorden, accountverwijderingen, enzovoort) als onderdeel van onze ondersteuning voor continue toegangsevaluatie. Ondersteuning voor Python en Go zal beschikbaar komen in de tweede helft van 2025.
Tabel voor versietoewijzing van pakket en Azure DevOps
De volgende tabel wijst de pakketversies van de .NET-clientbibliotheken toe aan de bijbehorende versies van Azure DevOps Server. Gebruik deze tabel om te bepalen welke pakketversie overeenkomt met uw Azure DevOps-versie.
| Versie van het pakket | Azure DevOps-versie |
|---|---|
| 16.205.x | versions >= Azure DevOps Server 2022 |
| 16.170.x | versions >= Azure DevOps Server 2020 |
Voor de nieuwste preview-versies, zie de NuGet-pakketten galerij.
REST-pakketten
De volgende tabel bevat de .NET-clientbibliotheken die beschikbaar zijn voor toegang tot verschillende services via openbare REST API's. Deze pakketten kunnen worden gedownload van NuGet.org en bieden de benodigde binaire bestanden om te integreren met Azure DevOps.
| Pakketten en beschrijving | Binaire bestanden |
|---|---|
|
Microsoft.VisualStudio.Services.Client Biedt toegang tot gedeelde platformservices via openbare REST API's, zoals organisatie, profiel, identiteit, beveiliging en meer. |
Microsoft.VisualStudio.Services.WebApi.dll, , Microsoft.VisualStudio.Services.Common.dllMicrosoft.TeamFoundation.Common.dll |
|
Microsoft.TeamFoundationServer.Client Biedt toegang tot versiebeheer, tracering van werkitems, build en meer via openbare REST API's. |
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.dllenzovoort. |
|
Microsoft.VisualStudio.Services.InteractiveClient Ondersteunt toepassingen waarvoor interactieve aanmelding door een gebruiker is vereist. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
|
Microsoft.VisualStudio.Services.Release.Client Biedt toegang tot de Release-service via openbare REST API's. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
|
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Biedt de modellen die worden gebruikt voor toegang tot de gedistribueerde taakservice via openbare REST API's. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
|
Microsoft.TeamFoundation.DistributedTask.WebApi Biedt toegang tot de gedistribueerde taakservice via openbare REST API's. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Biedt toegang tot de Service Hooks Service via openbare REST API's. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
|
Microsoft.VisualStudio.Services.Gallery.WebApi Biedt toegang tot de Gallery-service via openbare REST API's. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
|
Microsoft.VisualStudio.Services.Notifications.WebApi Biedt toegang tot de Notification Service via openbare REST API's. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
|
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Biedt toegang tot de Extension Management-service via openbare REST API's. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Biedt toegang tot de Member Entitlement Management-service via openbare REST API's. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Biedt toegang tot de service-eindpunten via openbare REST API's. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
|
Microsoft.VisualStudio.Services.Search.Client Biedt toegang tot de zoekservice via openbare REST API's. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll, Microsoft.VisualStudio.Services.Search.WebApi.dll |
|
Microsoft.TeamFoundation.PublishTestResults Deze taak kan worden gebruikt om testresultaten te publiceren en testbijlagen te uploaden in Azure DevOps. De volgende resultatenindelingen worden ondersteund met dit pakket: 1. JUnit : test van JUnit-projecten publiceren, 2. NUnit - test van NUnit-projecten publiceren, 3. VSTest : test van Visual Studio-projecten publiceren, 4. Xunit: test van Xunit-projecten publiceren. |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
|
Microsoft.VisualStudio.Services.Audit.WebApi Biedt toegang tot de auditservice via openbare REST API's. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
|
Microsoft.Azure.Pipelines.Policy.Client Biedt toegang tot de pijplijngoedkeuringen, controles en autorisatie via openbare REST API's. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Hint
Verouderde SOAP-API's: als u een bestaande Windows-toepassing hebt die gebruikmaakt van het TFS-clientobjectmodel, gebruikt Microsoft.TeamFoundationServer.ExtendedClient u deze voor SOAP-API's. Dit pakket wordt alleen aanbevolen wanneer REST API's niet de specifieke functionaliteit bieden die u nodig hebt (zoals het maken van TFVC-werkruimten). Dit pakket biedt geen ondersteuning voor .NET Standard en Microsoft investeert niet meer in SOAP-API's.
Soap-pakket
De volgende tabel bevat de .NET-clientbibliotheken die beschikbaar zijn voor toegang tot verschillende services via SOAP API's. Deze pakketten kunnen worden gedownload van NuGet.org en bieden de benodigde binaire bestanden om te integreren met Azure DevOps. Gebruik deze pakketten alleen wanneer de REST API's niet de functionaliteit bieden die u nodig hebt, bijvoorbeeld het maken van werkruimten in TFVC.
| pakket en beschrijving | Binaire Bestanden |
|---|---|
|
Microsoft.TeamFoundationServer.ExtendedClient Werk vanuit uw clienttoepassing met versiebeheer, werkitems, builds en andere resources, en beheer deze. Dit pakket biedt geen ondersteuning voor Net Standard Client OM. Gebruik dit pakket alleen als onze REST API's niet de functionaliteit bieden die u nodig hebt (bijvoorbeeld het maken van werkruimten in TFVC). |
Microsoft.TeamFoundation.Build.Client.dll, Microsoft.TeamFoundation.DeleteTeamProject.dll, Microsoft.TeamFoundation.Diff.dll, Microsoft.TeamFoundation.Git.Client.dll, Microsoft.TeamFoundation.SharePointReporting.Integration.dllenzovoort. |
Installeren
Installeren vanaf een Opdrachtprompt voor NuGet Package Manager:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Verbinden
Als u een geverifieerde verbinding met Azure DevOps wilt maken, haalt u een HttpClient op voor de service waarmee u wilt werken en roept u vervolgens methoden aan voor die service.
Zie de volgende voorbeelden:
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;
}
Verificatiepaden die een interactief dialoogvenster produceren, zijn niet beschikbaar in de .NET Standard-versie van de .NET-clientbibliotheken. Wanneer u de .NET Standard-versie gebruikt, geeft u uw referenties explicieter op om te verifiëren, zoals in het volgende voorbeeld.
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;
}
}
}
Hint
Microsoft Entra ID-verificatie: in de vorige voorbeelden worden Microsoft Entra ID-tokens gebruikt voor verificatie. Zie Verifiëren bij Azure DevOps met behulp van Microsoft Entra voor meer informatie.
Zie .NET-voorbeeldenvoor meer verificatievoorbeelden.
Referentie
Zie de .NET API-browser voor meer informatie en voor up-to-date-verwijzingsdocumentatie.
Voorbeelden
Bekijk voorbeelden op onze pagina met .NET-voorbeelden.
Zie Microsoft.VisualStudio.Services.Clientvoor meer informatie over NuGet-pakketten.
Bekende problemen
Het interactieve verificatiedialoogvenster verschijnt niet wanneer u het Azure DevOps Object Model (OM) gebruikt in een STA (Single Threaded Apartment).
Het interactieve verificatiedialoogvenster wordt niet weergegeven in gevallen waarin uw code wordt uitgevoerd vanuit een Single Threaded Apartment (STA). Dit probleem kan vaak optreden vanuit WPF--toepassingen. Als u dit probleem wilt omzeilen, kunt u uw initialisatiemethode wijzigen in asynchroon en verificatie aanvragen, zoals in het volgende voorbeeld.
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);
...
}
NetStandard 2.0-versies van azure DevOps OM gebruiken
Voor versie 16.143.1 van onze NuGet-pakketten ondersteunen we NetStandard 2.0. Deze pakketten correleren met Azure DevOps Server en zijn volledig compatibel met Azure DevOps.
Het pakket Microsoft.TeamFoundationServer.ExtendedClient heeft geen ondersteuning voor NetStandard
De Microsoft.TeamFoundationServer.ExtendedClient biedt geen ondersteuning voor een netStandard-compatibele versie.
Belangrijk
Dit pakket bevat ons oudere SOAP-objectmodel, dat we hebben vervangen door ons nieuwere REST-objectmodel. We investeren niet meer in het oudere SOAP-objectmodel en hebben geen plannen om er een NetStandard-versie van te maken.