Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Clientbibliotheken sind für .NET Entwickler verfügbar, die Windows Apps und Dienste erstellen, die in Azure DevOps integriert sind. Clientbibliotheken sind in die Nachverfolgung von Arbeitsaufgaben, die Versionsverwaltung, den Build und andere Dienste integriert. Diese Pakete erleichtern das Abrufen und Erneutverteilen der Bibliotheken, die von Ihrer App oder Ihrem Dienst benötigt werden.
Tipp
Suchen Sie die entsprechende .NET Clientklasse und API-Methode mithilfe von .NET Clientbibliotheksbeispielen und Azure DevOps API Reference.
Abhängigkeitsdiagramm
Features von .NET Clientbibliotheken
Die .NET Clientbibliotheken für Azure DevOps bieten mehrere wichtige Features, die die Integration mit Diensten in Azure DevOps aus Ihren Windows Anwendungen und Diensten erleichtern:
- Downloadable von NuGet.org: Importieren Sie die Bibliotheken ganz einfach in Ihre Visual Studio Projekte, indem Sie sie aus NuGet.org herunterladen.
- Lizenziert für die Umverteilung: Die Bibliotheken werden für die Umverteilung in Ihren Apps und Diensten lizenziert. Sie können die Lizenz anzeigen, um weitere Details zu erhalten.
- Access to APIs: Zugriff auf herkömmliche Clientobjektmodell-APIs und REST-APIs für die programmgesteuerte Interaktion mit Azure DevOps.
- Unterstützung für Claims Challenges: Ab Version 20.259.0 können .NET-Client-Bibliotheken jetzt Tokens mit Claims Challenges zurückgeben, die verwendet werden können, um Nachauthentifizierungsanforderungen nach kritischen Unternehmensereignissen (z. B. Kennwortzurücksetzungen, Kontolöschungen usw.) im Rahmen unserer Unterstützung für Continuous Access Evaluation ordnungsgemäß zu verarbeiten. Python- und Go-Unterstützung kommt in der zweiten Hälfte des Jahres 2025.
Paket- und Azure DevOps Versionszuordnungstabelle
Die folgende Tabelle ordnet die Paketversionen der .NET Clientbibliotheken den entsprechenden Versionen von Azure DevOps Server zu. Verwenden Sie diese Tabelle, um zu bestimmen, welche Paketversion Ihrer Azure DevOps Version entspricht.
| Paketversion | Azure DevOps Version |
|---|---|
| 16.205.x | versions >= Azure DevOps Server 2022 |
| 16.170.x | versions >= Azure DevOps Server 2020 |
Die neuesten Vorschauversionen finden Sie im NuGet-Paketkatalog.
REST-Pakete
In der folgenden Tabelle sind die .NET Clientbibliotheken aufgeführt, die für den Zugriff auf verschiedene Dienste über öffentliche REST-APIs verfügbar sind. Diese Pakete können von NuGet.org heruntergeladen werden und stellen die erforderlichen Binärdateien bereit, die in Azure DevOps integriert werden können.
| Pakete und Beschreibung | Binärdateien |
|---|---|
|
Microsoft.VisualStudio.Services.Client Bietet Zugriff auf gemeinsame Plattformdienste über öffentliche REST-APIs wie Organisation, Profil, Identität, Sicherheit und mehr. |
Microsoft.VisualStudio.Services.WebApi.dll, Microsoft.VisualStudio.Services.Common.dllMicrosoft.TeamFoundation.Common.dll |
|
Microsoft.TeamFoundationServer.Client Bietet Zugriff auf die Versionssteuerung, die Nachverfolgung von Arbeitsaufgaben, das Erstellen und vieles mehr über öffentliche REST-APIs. |
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.dllusw. |
|
Microsoft.VisualStudio.Services.InteractiveClient Unterstützt Anwendungen, die eine interaktive Anmeldung durch einen Benutzer erfordern. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
|
Microsoft.VisualStudio.Services.Release.Client Bietet Zugriff auf den Releasedienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
|
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Stellt die Modelle bereit, die für den Zugriff auf den verteilten Aufgabendienst über öffentliche REST-APIs verwendet werden. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
|
Microsoft.TeamFoundation.DistributedTask.WebApi Bietet Zugriff auf den verteilten Aufgabendienst über öffentliche REST-APIs. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Ermöglicht den Zugriff auf den Dienst hooks Service über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
|
Microsoft.VisualStudio.Services.Gallery.WebApi Bietet Zugriff auf den Katalogdienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
|
Microsoft.VisualStudio.Services.Notifications.WebApi Bietet Zugriff auf den Benachrichtigungsdienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
|
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Bietet Zugriff auf den Erweiterungsverwaltungsdienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Bietet Zugriff auf den Mitgliedsberechtigungsverwaltungsdienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Bietet Zugriff auf die Dienstendpunkte über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
|
Microsoft.VisualStudio.Services.Search.Client Bietet Zugriff auf den Suchdienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll, Microsoft.VisualStudio.Services.Search.WebApi.dll |
|
Microsoft.TeamFoundation.PublishTestResults Diese Aufgabe kann verwendet werden, um Testergebnisse zu veröffentlichen und Testanhänge auf Azure DevOps hochzuladen. Die folgenden Ergebnisformate werden mit diesem Paket unterstützt: 1. JUnit - Veröffentlichen von Tests von JUnit-Projekten, 2. NUnit - Veröffentlichen von Tests von NUnit-Projekten, 3. VSTest – Veröffentlichen von Tests aus Visual Studio Projekten, 4. Xunit – Veröffentlichen von Tests aus Xunit-Projekten. |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
|
Microsoft.VisualStudio.Services.Audit.WebApi Bietet Zugriff auf den Überwachungsdienst über öffentliche REST-APIs. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
|
Microsoft. Azure. Pipelines.Policy.Client Bietet Zugriff auf die Pipelinegenehmigungen, Überprüfungen und Autorisierung über öffentliche REST-APIs. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Tipp
Legacy SOAP-APIs: Wenn Sie über eine vorhandene Windows Anwendung verfügen, die das TFS-Clientobjektmodell verwendet, verwenden Sie Microsoft.TeamFoundationServer.ExtendedClient für SOAP-basierte APIs. Dieses Paket wird nur empfohlen, wenn REST-APIs nicht die spezifischen Funktionen bereitstellen, die Sie benötigen (z. B. die Erstellung von TFVC-Arbeitsbereichen). Dieses Paket unterstützt nicht .NET Standard und Microsoft investiert nicht mehr in SOAP-basierte APIs.
Seifenverpackung
In der folgenden Tabelle sind die .NET Clientbibliotheken aufgeführt, die für den Zugriff auf verschiedene Dienste über SOAP-APIs verfügbar sind. Diese Pakete können von NuGet.org heruntergeladen werden und stellen die erforderlichen Binärdateien bereit, die in Azure DevOps integriert werden können. Verwenden Sie diese Pakete nur, wenn die REST-APIs nicht die benötigten Funktionen bieten, z. B. das Erstellen von Arbeitsbereichen in TFVC.
| Paket und Beschreibung | Binärdateien |
|---|---|
|
Microsoft.TeamFoundationServer.ExtendedClient Verwenden und Verwalten Sie die Versionskontrolle, Arbeitselemente, Builds und andere Ressourcen aus Ihrer Clientanwendung. Dieses Paket unterstützt kein Net Standard-Client-OM. Verwenden Sie dieses Paket nur, wenn unsere REST-APIs die benötigten Funktionen nicht bieten (z. B. Erstellen von Arbeitsbereichen in TFVC). |
Microsoft.TeamFoundation.Build.Client.dll, Microsoft.TeamFoundation.DeleteTeamProject.dll, Microsoft.TeamFoundation.Diff.dll, Microsoft.TeamFoundation.Git.Client.dll, Microsoft.TeamFoundation.SharePointReporting.Integration.dllusw. |
Installieren
Installieren Sie über die Eingabeaufforderung des NuGet-Paket-Managers:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Verbinden
Um eine authentifizierte Verbindung mit Azure DevOps zu erstellen, rufen Sie einen HttpClient für den Dienst ab, mit dem Sie arbeiten möchten, und rufen Sie dann Methoden für diesen Dienst auf.
Sehen Sie sich die folgenden Beispiele an:
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.Client;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.VisualStudio.Services.WebApi;
const string collectionUri = "https://dev.azure.com/fabrikam";
const string projectName = "MyGreatProject";
const string repoName = "MyRepo";
const string accessToken = "your-microsoft-entra-id-token";
Uri orgUrl = new Uri(collectionUri);
// Connect to Azure DevOps using Microsoft Entra ID token
VssConnection connection = new VssConnection(orgUrl, new VssBasicCredential(string.Empty, accessToken));
// 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(projectName, repoName).Result;
}
Authentifizierungspfade, die ein interaktives Dialogfeld erzeugen, sind in der .NET Standardversion der .NET Clientbibliotheken nicht verfügbar. Wenn Sie die .NET Standardversion verwenden, geben Sie Ihre Anmeldeinformationen expliziter für die Authentifizierung an, z. B. im folgenden Beispiel.
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 accessToken = "your-microsoft-entra-id-token";
static void Main(string[] args)
{
var creds = new VssBasicCredential(string.Empty, accessToken);
// Connect to Azure DevOps Services using Microsoft Entra ID token
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;
}
}
}
Tipp
Microsoft Entra ID authentication: In den vorherigen Beispielen werden Microsoft Entra ID Token für die Authentifizierung verwendet. Weitere Informationen finden Sie unter Authentifizierung bei Azure DevOps mithilfe von Microsoft Entra.
Weitere Authentifizierungsbeispiele finden Sie unter .NET Samples.
Referenz
Weitere Informationen und aktuelle Referenzdokumentation finden Sie im .NET API-Browser.
Beispiele
Schauen Sie sich Beispiele auf unserer .NET Samples Page an.
Weitere Informationen zu NuGet-Paketen finden Sie unter Microsoft.VisualStudio.Services.Client.
Bekannte Probleme
Das Dialogfeld "Interaktive Authentifizierung" wird bei Verwendung des Azure DevOps OM in einem Single Threaded Apartment (STA) nicht angezeigt.
Das Dialogfeld für die interaktive Authentifizierung wird in Fällen nicht angezeigt, in denen Ihr Code von einem Single Threaded Apartment (STA) ausgeführt wird. Dieses Problem kann häufig aus anwendungen WPF auftreten. Um dieses Problem zu umgehen, können Sie die Initialisierungsmethode so ändern, dass sie asynchron ist und die Authentifizierung anfordert, wie im folgenden Beispiel gezeigt.
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);
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
await vssConnection.ConnectAsync(token);
...
}
Verwenden von NetStandard 2.0-Versionen des Azure DevOps OM
Für Version 16.143.1 unserer NuGet-Pakete unterstützen wir NetStandard 2.0. Diese Pakete korrelieren mit Azure DevOps Server und sind vollständig mit Azure DevOps kompatibel.
Microsoft.TeamFoundationServer.ExtendedClient-Paket hat keine NetStandard-Unterstützung
Die Microsoft.TeamFoundationServer.ExtendedClient- unterstützt keine NetStandard-kompatible Version.
Wichtig
Dieses Paket enthält unser älteres SOAP-Objektmodell, das wir durch unser neueres REST-Objektmodell ersetzt haben. Wir investieren nicht mehr in das ältere SOAP-Objektmodell und haben keine Pläne, eine NetStandard-Version davon zu erstellen.