Librerie client .NET
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Le librerie client sono disponibili per gli sviluppatori .NET che creano app e servizi Windows che si integrano con Azure DevOps. Le librerie client si integrano con il rilevamento degli elementi di lavoro, il controllo della versione, la compilazione e altri servizi. Questi pacchetti sostituiscono il tradizionale programma di installazione di TFS Client OM e semplificano l'acquisizione e la ridistribuzione delle librerie necessarie per l'app o il servizio.
Suggerimento
Trovare il metodo API e la classe client .NET corrispondenti usando gli esempi della libreria client .NET e le informazioni di riferimento sulle API di Azure DevOps.
Diagramma delle dipendenze
Funzionalità
- Scaricabile da NuGet.org e facilmente importabile nei progetti di Visual Studio
- Le librerie sono concesse in licenza per la ridistribuzione nelle app e nei servizi (visualizzare la licenza)
- Accedere alle API del modello a oggetti client tradizionali e alle API REST
Nota
I client basati su REST funzionano solo con Azure DevOps e TFS 2015 o versione successiva. Per altre informazioni sull'estensione e l'integrazione con Azure DevOps usando le librerie client, vedere Estensione di Team Foundation.
Tabella di mapping delle versioni di Package e Azure DevOps
Versione pacchetto | Versione di 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 |
Per le versioni di anteprima più recenti, vedere la raccolta di pacchetti NuGet.
Pacchetti REST
Pacchetti e descrizione | File binari |
---|---|
Microsoft.VisualStudio.Services.Client Fornisce l'accesso ai servizi della piattaforma condivisa tramite API REST pubbliche, ad esempio organizzazione, profilo, identità, sicurezza e altro ancora. |
Microsoft.VisualStudio.Services.WebApi.dll , Microsoft.VisualStudio.Services.Common.dll , Microsoft.TeamFoundation.Common.dll |
Microsoft.TeamFoundationServer.Client Fornisce l'accesso al controllo della versione, al rilevamento degli elementi di lavoro, alla compilazione e altro ancora tramite LE API REST pubbliche. |
Microsoft.TeamFoundation.Build2.WebApi.dll , Microsoft.TeamFoundation.Core.WebApi.dll , Microsoft.TeamFoundation.SourceControl.WebApi.dll , , Microsoft.TeamFoundation.TestManagement.WebApi.dll e così via. Microsoft.TeamFoundation.WorkItemTracking.Process.WebApi.dll |
Microsoft.VisualStudio.Services.InteractiveClient Supporta le applicazioni che richiedono l'accesso interattivo da parte di un utente. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
Microsoft.VisualStudio.Services.Release.Client Fornisce l'accesso al servizio di rilascio tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Fornisce i modelli usati per accedere al servizio attività distribuita tramite LE API REST pubbliche. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
Microsoft.TeamFoundation.DistributedTask.WebApi Fornisce l'accesso al servizio attività distribuita tramite LE API REST pubbliche. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Fornisce l'accesso al servizio Service Hooks tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
Microsoft.VisualStudio.Services.Gallery.WebApi Fornisce l'accesso al servizio Raccolta tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
Microsoft.VisualStudio.Services.Notifications.WebApi Fornisce l'accesso al servizio notifiche tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Fornisce l'accesso al servizio di gestione delle estensioni tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Fornisce l'accesso al servizio di gestione entitlement dei membri tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Fornisce l'accesso agli endpoint di servizio tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
Microsoft.VisualStudio.Services.Search.Client Fornisce l'accesso al servizio di ricerca tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll , Microsoft.VisualStudio.Services.Search.WebApi.dll |
Microsoft.TeamFoundation.PublishTestResults Questa attività può essere usata per pubblicare i risultati dei test e caricare allegati di test in Azure DevOps. I formati di risultati seguenti sono supportati con questo pacchetto: 1. JUnit: pubblicare test dai progetti Junit, 2. NUnit: pubblicare test dai progetti Nunit, 3. VSTest: pubblicare test da progetti di Visual Studio, 4. Xunit- Pubblicare test da progetti Xunit |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
Microsoft.VisualStudio.Services.Audit.WebApi Fornisce l'accesso al servizio di controllo tramite LE API REST pubbliche. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
Microsoft.Azure.Pipelines.Policy.Client Fornisce l'accesso alle approvazioni, ai controlli e all'autorizzazione della pipeline tramite LE API REST pubbliche. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Suggerimento
Se si dispone di un'applicazione o di un servizio Windows esistente che usa il modello a oggetti client TFS, usare Microsoft.TeamFoundationServer.ExtendedClient
.
Pacchetto Soap
Pacchetto e descrizione | File binari |
---|---|
Microsoft.TeamFoundationServer.ExtendedClient Usare e gestire il controllo della versione, gli elementi di lavoro e la compilazione e altre risorse dall'applicazione client. Questo pacchetto non supporta Net Standard Client OM. Usare questo pacchetto solo quando le API REST non offrono le funzionalità necessarie ( ad esempio, la creazione di aree di lavoro in TFVC) |
Microsoft.TeamFoundation.Build.Client.dll , Microsoft.TeamFoundation.DeleteTeamProject.dll , Microsoft.TeamFoundation.Git.Client.dll , , Microsoft.TeamFoundation.SharePointReporting.Integration.dll e così via. Microsoft.TeamFoundation.Diff.dll |
Installare
Eseguire l'installazione da un prompt dei comandi di Gestione pacchetti NuGet:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Connessione
Per creare una connessione autenticata ad Azure DevOps, ottenere un HttpClient per il servizio da usare e quindi chiamare i metodi per tale servizio.
Vedere gli esempi seguenti:
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;
}
I percorsi di autenticazione che producono una finestra di dialogo interattiva non sono disponibili nella versione .NET Standard delle librerie client .NET. Quando si usa la versione .NET Standard, specificare le credenziali in modo più esplicito per l'autenticazione, come nell'esempio seguente.
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;
}
}
}
Per altri esempi di autenticazione, vedere Esempi di .NET.
Riferimento
Per altre informazioni e per la documentazione di riferimento aggiornata, vedere browser API .NET.
Esempi
Vedere gli esempi nella pagina degli esempi .NET o direttamente nel repository GitHub .NET.
Per altre informazioni sui pacchetti NuGet, vedere Microsoft.VisualStudio.Services.Client.
Problemi noti
La finestra di dialogo di autenticazione interattiva non viene visualizzata quando si usa l'om di Azure DevOps in un apartment a thread singolo (STA)
La finestra di dialogo di autenticazione interattiva non viene visualizzata nei casi in cui il codice è in esecuzione da un apartment a thread singolo (STA). Questo problema può verificarsi comunemente dalle applicazioni WPF . Per risolvere questo problema, è possibile modificare il metodo di inizializzazione in modo che sia asincrono e richiedere l'autenticazione come nell'esempio seguente.
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();
...
}
Uso di NetStandard 2.0 delle versioni di Azure DevOps OM
Per la versione 16.143.1 dei pacchetti NuGet, è supportato NetStandard 2.0. Questi pacchetti sono correlati ad Azure DevOps Server 2019 RTW e sono completamente compatibili con Azure DevOps.
Il pacchetto Microsoft.TeamFoundationServer.ExtendedClient non supporta NetStandard
Microsoft.TeamFoundationServer.ExtendedClient non supporta una versione conforme a NetStandard.
Importante
Questo pacchetto include il modello a oggetti SOAP precedente, sostituito dal modello a oggetti REST più recente. Non stiamo più investendo nel modello a oggetti SOAP precedente e non abbiamo intenzione di crearne una versione NetStandard.