.NET-clientbibliotheken
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
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.
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 |
16.153.x | versions >= Azure DevOps Server 2019 Update 1 |
16.143.x | versions >= Azure DevOps Server 2019 |
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.dll , Microsoft.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.dll enzovoort. |
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
Als u een bestaande Windows-toepassing of -service hebt die gebruikmaakt van het TFS-clientobjectmodel, gebruikt u Microsoft.TeamFoundationServer.ExtendedClient
. Dit pakket biedt toegang tot de oudere SOAP-API's die nodig zijn voor bepaalde functies die niet beschikbaar zijn in de nieuwere REST API's. Dit pakket biedt echter geen ondersteuning voor .NET Standard en is alleen bedoeld voor gebruik wanneer de REST API's niet de vereiste functionaliteit bieden.
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 Werken met versiebeheer, werkitems, build en andere resources vanuit uw clienttoepassing en deze beheren. 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.dll enzovoort. |
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 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;
}
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 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;
}
}
}
Zie .NET-voorbeeldenvoor meer verificatievoorbeelden.
Referentie
Zie de .NET API-browservoor meer informatie en voor up-to-datumverwijzingsdocumentatie.
Voorbeelden
Bekijk voorbeelden op onze .NET Samples Page of rechtstreeks op onze .NET GitHub-opslagplaats.
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 2019 RTW 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.