Bibliothèques clientes .NET
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Les bibliothèques clientes sont disponibles pour les développeurs .NET qui créent des applications et des services Windows qui s’intègrent à Azure DevOps. Les bibliothèques clientes s’intègrent au suivi des éléments de travail, au contrôle de version, à la génération et à d’autres services. Ces packages remplacent le programme d’installation de l’om client TFS traditionnel et facilitent l’acquisition et la redistribution des bibliothèques nécessaires par votre application ou service.
Conseil
Recherchez la classe cliente .NET correspondante et la méthode d’API, à l’aide d’exemples de bibliothèque de client .NET et de la référence de l’API Azure DevOps.
Diagramme de dépendances
Fonctionnalités
- Téléchargeable à partir de NuGet.org et facilement importable dans vos projets Visual Studio
- Les bibliothèques sont concédées sous licence pour la redistribution dans vos applications et services (voir la licence)
- Accéder aux API de modèle objet client traditionnelles et aux API REST
Remarque
Les clients REST fonctionnent uniquement avec Azure DevOps et TFS 2015 ou version ultérieure. Pour plus d’informations sur l’extension et l’intégration à Azure DevOps à l’aide des bibliothèques clientes, consultez Extension de Team Foundation.
Table de mappage de versions d’Azure DevOps et de package
Version du package | Version d’Azure DevOps |
---|---|
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 |
Pour connaître les dernières versions préliminaires, consultez la galerie de packages NuGet.
Packages REST
Packages et description | Composants binaires |
---|---|
Microsoft.VisualStudio.Services.Client Fournit l’accès aux services de plateforme partagée via des API REST publiques, telles que l’organisation, le profil, l’identité, la sécurité, etc. |
Microsoft.VisualStudio.Services.WebApi.dll , , Microsoft.VisualStudio.Services.Common.dll Microsoft.TeamFoundation.Common.dll |
Microsoft.TeamFoundationServer.Client Fournit l’accès au contrôle de version, au suivi des éléments de travail, à la génération et plus encore via les API REST publiques. |
Microsoft.TeamFoundation.Build2.WebApi.dll , , Microsoft.TeamFoundation.Core.WebApi.dll , Microsoft.TeamFoundation.SourceControl.WebApi.dll Microsoft.TeamFoundation.WorkItemTracking.Process.WebApi.dll , , Microsoft.TeamFoundation.TestManagement.WebApi.dll et ainsi de suite. |
Microsoft.VisualStudio.Services.InteractiveClient Prend en charge les applications qui nécessitent une connexion interactive par un utilisateur. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
Microsoft.VisualStudio.Services.Release.Client Fournit l’accès au service Release via des API REST publiques. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Fournit les modèles utilisés pour accéder au service de tâches distribué via des API REST publiques. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
Microsoft.TeamFoundation.DistributedTask.WebApi Fournit l’accès au service de tâches distribué via des API REST publiques. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Fournit l’accès au service de hooks de service via des API REST publiques. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
Microsoft.VisualStudio.Services.Gallery.WebApi Fournit l’accès au service de galerie via des API REST publiques. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
Microsoft.VisualStudio.Services.Notifications.WebApi Fournit l’accès au service de notifications via des API REST publiques. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Fournit l’accès au service de gestion des extensions via des API REST publiques. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Fournit l’accès au service de gestion des droits des membres via des API REST publiques. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Fournit l’accès aux points de terminaison de service via des API REST publiques. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
Microsoft.VisualStudio.Services.Search.Client Fournit l’accès au service de recherche via des API REST publiques. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll , Microsoft.VisualStudio.Services.Search.WebApi.dll |
Microsoft.TeamFoundation.PublishTestResults Cette tâche peut être utilisée pour publier les résultats des tests et charger des pièces jointes de test sur Azure DevOps. Les formats de résultats suivants sont pris en charge avec ce package : 1. JUnit - publier des tests à partir de projets Junit, 2. NUnit- publie des tests à partir de projets Nunit, 3. VSTest - publiez des tests à partir de projets Visual Studio, 4. Xunit - Publier des tests à partir de projets Xunit |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
Microsoft.VisualStudio.Services.Audit.WebApi Fournit l’accès au service d’audit via des API REST publiques. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
Microsoft.Azure.Pipelines.Policy.Client Fournit l’accès aux approbations de pipeline, aux case activée et à l’autorisation via des API REST publiques. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Conseil
Si vous disposez d’une application ou d’un service Windows existant qui utilise le modèle objet client TFS, utilisez Microsoft.TeamFoundationServer.ExtendedClient
.
Package Soap
Package et description | Fichiers binaires |
---|---|
Microsoft.TeamFoundationServer.ExtendedClient Utilisez et gérez le contrôle de version, les éléments de travail et la génération, ainsi que d’autres ressources à partir de votre application cliente. Ce package ne prend pas en charge l’om client Net Standard. Utilisez ce package uniquement lorsque nos API REST ne proposent pas les fonctionnalités dont vous avez besoin (par exemple, la création d’espaces de travail dans TFVC) |
Microsoft.TeamFoundation.Build.Client.dll , , Microsoft.TeamFoundation.DeleteTeamProject.dll , Microsoft.TeamFoundation.Git.Client.dll Microsoft.TeamFoundation.Diff.dll , , Microsoft.TeamFoundation.SharePointReporting.Integration.dll et ainsi de suite. |
Installer
Installer à partir d’une invite de commandes du gestionnaire de package NuGet :
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Se connecter
Pour créer une connexion authentifiée à Azure DevOps, obtenez un HttpClient pour le service avec lequel vous souhaitez travailler, puis appelez des méthodes sur ce service.
Voici des exemples :
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;
}
Les chemins d’authentification qui produisent une boîte de dialogue interactive ne sont pas disponibles dans la version .NET Standard des bibliothèques clientes .NET. Lorsque vous utilisez la version .NET Standard, fournissez vos informations d’identification plus explicitement pour vous authentifier, comme dans l’exemple suivant.
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;
}
}
}
Pour plus d’exemples d’authentification, consultez les exemples .NET.
Référence
Pour plus d’informations et pour obtenir une documentation de référence à jour, consultez le navigateur d’API .NET.
Exemples
Consultez des exemples sur notre page d’exemples .NET ou directement sur notre dépôt GitHub .NET.
Pour plus d’informations sur les packages NuGet, consultez Microsoft.VisualStudio.Services.Client.
Problèmes connus
La boîte de dialogue d’authentification interactive n’apparaît pas lors de l’utilisation de l’om Azure DevOps dans un seul appartement threaded (STA)
La boîte de dialogue d’authentification interactive n’apparaît pas dans les cas où votre code s’exécute à partir d’un seul appartement threaded (STA). Ce problème peut généralement se produire à partir d’applications WPF . Pour contourner ce problème, vous pouvez modifier votre méthode d’initialisation pour qu’elle soit asynchrone et demander l’authentification comme dans l’exemple suivant.
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();
...
}
Utilisation des versions de NetStandard 2.0 de l’om Azure DevOps
Pour la version 16.143.1 de nos packages NuGet, nous prenons en charge NetStandard 2.0. Ces packages sont corrélés avec Azure DevOps Server 2019 RTW et sont entièrement compatibles avec Azure DevOps.
Le package Microsoft.TeamFoundationServer.ExtendedClient ne prend pas en charge NetStandard
Microsoft.TeamFoundationServer.ExtendedClient ne prend pas en charge une version conforme à NetStandard.
Important
Ce package inclut notre ancien modèle objet SOAP, que nous avons remplacé par notre nouveau modèle objet REST. Nous n’investissons plus dans l’ancien modèle objet SOAP et n’avons pas l’intention de créer une version NetStandard de celle-ci.