.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. Deze pakketten vervangen het traditionele TFS Client OM-installatieprogramma en maken het eenvoudig om de bibliotheken te verkrijgen en opnieuw te distribueren die nodig zijn voor uw app of service.

Tip

Zoek de bijbehorende .NET-clientklasse en API-methode met behulp van .NET Client Library Samples en Azure DevOps API Reference.

Afhankelijkheidsdiagram

Het afhankelijkheidsdiagram toont de relatie tussen Services.Client, Services.InteractiveClient en TeamFoundationServer.Client.

Functies

  • Downloadbaar van NuGet.org en eenvoudig te importeren in uw Visual Studio-projecten
  • Bibliotheken zijn gelicentieerd voor herdistributie in uw apps en services (bekijk de licentie)
  • Toegang krijgen tot zowel traditionele API's voor clientobjectmodellen als REST API's

Notitie

OP REST gebaseerde clients werken alleen met Azure DevOps en TFS 2015 of hoger. Zie Uitbreiding van Team Foundation voor meer informatie over het uitbreiden en integreren met Azure DevOps met behulp van de clientbibliotheken.

Tabel voor pakket- en Azure DevOps-versietoewijzing

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
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

Zie de Galerie NuGet-pakketten voor de nieuwste preview-versies.

REST-pakketten

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.dllMicrosoft.TeamFoundation.WorkItemTracking.Process.WebApi.dll, , Microsoft.TeamFoundation.Core.WebApi.dll, Microsoft.TeamFoundation.SourceControl.WebApi.dll, , enzovoortMicrosoft.TeamFoundation.TestManagement.WebApi.dll.
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 voor het publiceren van testresultaten en het uploaden van testbijlagen in Azure DevOps. De volgende resultatenindelingen worden ondersteund met dit pakket: 1. JUnit : tests publiceren van Junit-projecten, 2. NUnit- publiceer tests van Nunit-projecten, 3. VSTest: publiceer tests van Visual Studio-projecten, 4. Xunit: tests 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

Tip

Als u een bestaande Windows-toepassing of -service hebt die gebruikmaakt van het TFS-clientobjectmodel, gebruikt u Microsoft.TeamFoundationServer.ExtendedClient.

Soap-pakket

Pakket en beschrijving Binaire bestanden
Microsoft.TeamFoundationServer.ExtendedClient
Werk met versiebeheer, werkitems en bouw en andere resources vanuit uw clienttoepassing 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.dllMicrosoft.TeamFoundation.Diff.dll, , Microsoft.TeamFoundation.DeleteTeamProject.dll, Microsoft.TeamFoundation.Git.Client.dll, , enzovoortMicrosoft.TeamFoundation.SharePointReporting.Integration.dll.

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-voorbeelden voor meer verificatievoorbeelden.

Verwijzing

Zie de .NET API-browser voor meer informatie en voor actuele referentiedocumentatie.

Voorbeelden

Bekijk voorbeelden op onze pagina met .NET-voorbeelden of rechtstreeks in onze .NET GitHub-opslagplaats.

Zie Microsoft.VisualStudio.Services.Client voor meer informatie over NuGet-pakketten.

Bekende problemen

Het dialoogvenster interactieve verificatie wordt niet weergegeven wanneer u de Azure DevOps 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);
    await vssConnection.ConnectAsync();

    ...

}

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

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.