.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
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.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.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.dll Microsoft.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.