.NET-klientbibliotek
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Klientbibliotek är tillgängliga för .NET-utvecklare som skapar Windows-appar och -tjänster som integreras med Azure DevOps. Klientbibliotek integreras med spårning av arbetsobjekt, versionskontroll, bygge och andra tjänster. Dessa paket ersätter det traditionella OM-installationsprogrammet för TFS-klienten och gör det enkelt att hämta och omdistribuera de bibliotek som behövs av din app eller tjänst.
Dricks
Hitta motsvarande .NET-klientklass och API-metod med hjälp av .NET-klientbiblioteksexempel och Azure DevOps API-referens.
Beroendediagram
Funktioner
- Nedladdningsbar från NuGet.org och enkelt att importera till dina Visual Studio-projekt
- Bibliotek är licensierade för omdistribution i dina appar och tjänster (visa licensen)
- Åtkomst till både API:er för traditionell klientobjektmodell och REST-API:er
Kommentar
REST-baserade klienter fungerar bara med Azure DevOps och TFS 2015 eller senare. Mer information om hur du utökar och integrerar med Azure DevOps med hjälp av klientbiblioteken finns i Utöka Team Foundation.
Paket- och Azure DevOps-tabell för versionsmappning
Paketversion | Azure DevOps-version |
---|---|
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 |
De senaste förhandsversionerna finns i NuGet-paketgalleriet.
REST-paket
Paket och beskrivning | Binärfiler |
---|---|
Microsoft.VisualStudio.Services.Client Ger åtkomst till delade plattformstjänster via offentliga REST-API:er, till exempel organisation, profil, identitet, säkerhet med mera. |
Microsoft.VisualStudio.Services.WebApi.dll , , Microsoft.VisualStudio.Services.Common.dll Microsoft.TeamFoundation.Common.dll |
Microsoft.TeamFoundationServer.Client Ger åtkomst till versionskontroll, spårning av arbetsobjekt, bygge med mera via offentliga REST-API:er. |
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 och så vidare. |
Microsoft.VisualStudio.Services.InteractiveClient Stöder program som kräver interaktiv inloggning av en användare. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
Microsoft.VisualStudio.Services.Release.Client Ger åtkomst till versionstjänsten via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Tillhandahåller de modeller som används för att komma åt den distribuerade uppgiftstjänsten via offentliga REST-API:er. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
Microsoft.TeamFoundation.DistributedTask.WebApi Ger åtkomst till den distribuerade uppgiftstjänsten via offentliga REST-API:er. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Ger åtkomst till Service Hooks Service via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
Microsoft.VisualStudio.Services.Gallery.WebApi Ger åtkomst till galleritjänsten via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
Microsoft.VisualStudio.Services.Notifications.WebApi Ger åtkomst till meddelandetjänsten via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Ger åtkomst till tilläggshanteringstjänsten via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Ger åtkomst till medlemstjänsten för berättigandehantering via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Ger åtkomst till tjänstslutpunkter via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
Microsoft.VisualStudio.Services.Search.Client Ger åtkomst till söktjänsten via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll , Microsoft.VisualStudio.Services.Search.WebApi.dll |
Microsoft.TeamFoundation.PublishTestResults Den här uppgiften kan användas för att publicera testresultat och ladda upp testbilagor i Azure DevOps. Följande resultatformat stöds med det här paketet: 1. JUnit – publicera tester från Junit-projekt, 2. NUnit – publicera tester från Nunit-projekt, 3. VSTest – publicera tester från Visual Studio-projekt, 4. Xunit – publicera tester från Xunit-projekt |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
Microsoft.VisualStudio.Services.Audit.WebApi Ger åtkomst till granskningstjänsten via offentliga REST-API:er. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
Microsoft.Azure.Pipelines.Policy.Client Ger åtkomst till pipelinegodkännanden, kontroller och auktorisering via offentliga REST-API:er. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Dricks
Om du har ett befintligt Windows-program eller en befintlig tjänst som använder TFS-klientobjektmodellen använder du Microsoft.TeamFoundationServer.ExtendedClient
.
Soap-paket
Paket och beskrivning | Binärfiler |
---|---|
Microsoft.TeamFoundationServer.ExtendedClient Arbeta med och hantera versionskontroll, arbetsobjekt och bygg och andra resurser från klientprogrammet. Det här paketet stöder inte Net Standard Client OM. Använd bara det här paketet när våra REST-API:er inte erbjuder de funktioner du behöver (till exempel när du skapar arbetsytor i TFVC) |
Microsoft.TeamFoundation.Build.Client.dll , Microsoft.TeamFoundation.DeleteTeamProject.dll , Microsoft.TeamFoundation.Diff.dll , Microsoft.TeamFoundation.Git.Client.dll , , Microsoft.TeamFoundation.SharePointReporting.Integration.dll och så vidare. |
Installera
Installera från en Kommandotolk för NuGet-pakethanteraren:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Anslut
Om du vill skapa en autentiserad anslutning till Azure DevOps hämtar du en HttpClient för den tjänst som du vill arbeta med och anropar sedan metoder mot den tjänsten.
Se följande exempel:
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;
}
Autentiseringssökvägar som skapar en interaktiv dialogruta är inte tillgängliga i .NET Standard-versionen av .NET-klientbiblioteken. När du använder .NET Standard-versionen anger du dina autentiseringsuppgifter mer explicit för att autentisera, som i följande exempel.
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;
}
}
}
Fler autentiseringsexempel finns i .NET-exempel.
Referens
Mer information och aktuell referensdokumentation finns i .NET API-webbläsaren.
Exempel
Kolla in exempel på vår .NET-exempelsida eller direkt på vår .NET GitHub-lagringsplats.
Mer information om NuGet-paket finns i Microsoft.VisualStudio.Services.Client.
Kända problem
Dialogrutan Interaktiv autentisering visas inte när du använder Azure DevOps OM i en enskild trådad lägenhet (STA)
Dialogrutan för interaktiv autentisering visas inte i fall där koden körs från en enskild trådad lägenhet (STA). Det här problemet kan ofta uppstå från WPF-program . För att undvika det här problemet kan du ändra initieringsmetoden så att den är asynkron och begär autentisering som i följande exempel.
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();
...
}
Använda NetStandard 2.0-versioner av Azure DevOps OM
För version 16.143.1 av våra NuGet-paket stöder vi NetStandard 2.0. Dessa paket korrelerar med Azure DevOps Server 2019 RTW och är helt kompatibla med Azure DevOps.
Microsoft.TeamFoundationServer.ExtendedClient-paketet har inte NetStandard-stöd
Microsoft.TeamFoundationServer.ExtendedClient stöder inte en NetStandard-kompatibel version.
Viktigt!
Det här paketet innehåller vår äldre SOAP-objektmodell, som vi ersatte med vår nyare REST-objektmodell. Vi investerar inte längre i den äldre SOAP-objektmodellen och har inga planer på att skapa en NetStandard-version av den.