Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Klientské knihovny jsou k dispozici vývojářům .NET, kteří vytvářejí aplikace a služby pro Windows, které se integrují s Azure DevOps. Klientské knihovny se integrují se sledováním pracovních položek, správou verzí, sestavením a dalšími službami. Tyto balíčky usnadňují získání a redistribuci knihoven potřebných vaší aplikací nebo službou.
Návod
Najděte odpovídající klientskou třídu a metodu rozhraní API . NET pomocí ukázek klientské knihovny .NET a referenčních informací k rozhraní AZURE DevOps API.
Diagram závislostí
Funkce klientských knihoven .NET
Klientské knihovny .NET pro Azure DevOps nabízejí několik klíčových funkcí, které usnadňují integraci se službami v Azure DevOps z vašich aplikací a služeb Pro Windows:
- Ke stažení z NuGet.org: Snadno importujte knihovny do projektů Visual Studio stažením z NuGet.org.
- Licencováno pro redistribuci: Knihovny jsou licencované k redistribuci ve vašich aplikacích a službách. Další podrobnosti najdete v licenci .
- Přístup k rozhraním API: Získejte přístup k tradičním rozhraním API klientského objektového modelu i rozhraním REST API pro interakci s Azure DevOps prostřednictvím kódu programu.
- Podpora výzev pro deklarace: Od verze 20.259.0 mohou nyní klientské knihovny .NET vracet tokeny s výzvami pro deklarace, které lze použít k řádnému zpracování žádostí o opětovné ověření po důležitých událostech společnosti (např. resetování hesel, odstranění účtu atd.) v rámci naší podpory pro průběžné vyhodnocování přístupu. Podpora Pythonu a Go přichází v druhé polovině roku 2025.
Tabulka mapování verzí balíčku a Azure DevOps
Následující tabulka mapuje verze balíčků klientských knihoven .NET na odpovídající verze Azure DevOps Serveru. Pomocí této tabulky můžete určit, která verze balíčku odpovídá vaší verzi Azure DevOps.
| Verze balíčku | Verze Azure DevOps |
|---|---|
| 16.205.x | versions >= Azure DevOps Server 2022 |
| 16.170.x | versions >= Azure DevOps Server 2020 |
Nejnovější verze Preview najdete v galerii balíčků NuGet.
Balíčky REST
Následující tabulka uvádí klientské knihovny .NET, které jsou k dispozici pro přístup k různým službám prostřednictvím veřejných rozhraní REST API. Tyto balíčky je možné stáhnout z NuGet.org a poskytnout potřebné binární soubory pro integraci s Azure DevOps.
| Balíčky a popis | Binární soubory |
|---|---|
|
Microsoft.VisualStudio.Services.Client Poskytuje přístup ke sdíleným službám platformy prostřednictvím veřejných rozhraní REST API, jako jsou organizace, profil, identita, zabezpečení a další. |
Microsoft.VisualStudio.Services.WebApi.dll, , Microsoft.VisualStudio.Services.Common.dllMicrosoft.TeamFoundation.Common.dll |
|
Microsoft.TeamFoundationServer.Client Poskytuje přístup ke správě verzí, sledování pracovních položek, sestavení a dalším prostřednictvím veřejných rozhraní REST API. |
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.dlla tak dále. |
|
Microsoft.VisualStudio.Services.InteractiveClient Podporuje aplikace, které vyžadují interaktivní přihlášení uživatelem. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
|
Microsoft.VisualStudio.Services.Release.Client Poskytuje přístup ke službě Release Service prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
|
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Poskytuje modely používané pro přístup ke službě distribuovaných úloh prostřednictvím veřejných rozhraní REST API. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
|
Microsoft.TeamFoundation.DistributedTask.WebApi Poskytuje přístup k distribuované službě úloh prostřednictvím veřejných rozhraní REST API. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Poskytuje přístup ke službě Service Hooks Service prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
|
Microsoft.VisualStudio.Services.Gallery.WebApi Poskytuje přístup ke službě galerie prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
|
Microsoft.VisualStudio.Services.Notifications.WebApi Poskytuje přístup ke službě Oznámení prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
|
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Poskytuje přístup ke službě Správa rozšíření prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Poskytuje přístup ke službě Správa nároků člena prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Poskytuje přístup ke koncovým bodům služby prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
|
Microsoft.VisualStudio.Services.Search.Client Poskytuje přístup k vyhledávací službě prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll, Microsoft.VisualStudio.Services.Search.WebApi.dll |
|
Microsoft.TeamFoundation.PublishTestResults Tuto úlohu můžete použít k publikování výsledků testů a nahrání testovacích příloh v Azure DevOps. Tento balíček podporuje následující formáty výsledků: 1. JUnit – publikování testů z projektů JUnit, 2. NUnit - publikování testů z projektů NUnit, 3. VSTest – publikování testů z projektů sady Visual Studio, 4. Xunit – publikování testů z projektů Xunit |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
|
Microsoft.VisualStudio.Services.Audit.WebApi Poskytuje přístup ke službě auditování prostřednictvím veřejných rozhraní REST API. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
|
Microsoft.Azure.Pipelines.Policy.Client Poskytuje přístup ke schválení, kontrolám a autorizaci pipeline prostřednictvím veřejných REST API rozhraní. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Návod
Starší rozhraní API PROTOKOLU SOAP: Pokud máte existující aplikaci systému Windows, která používá objektový model klienta TFS, použijte Microsoft.TeamFoundationServer.ExtendedClient pro rozhraní API založená na protokolu SOAP. Tento balíček se doporučuje jenom v případě, že rozhraní REST API neposkytují konkrétní funkce, které potřebujete (například vytvoření pracovního prostoru TFVC). Tento balíček nepodporuje rozhraní .NET Standard a Společnost Microsoft už ne investuje do rozhraní API založených na protokolu SOAP.
Balíček mýdla
Následující tabulka uvádí klientské knihovny .NET, které jsou k dispozici pro přístup k různým službám prostřednictvím rozhraní API SOAP. Tyto balíčky je možné stáhnout z NuGet.org a poskytnout potřebné binární soubory pro integraci s Azure DevOps. Tyto balíčky používejte jenom v případě, že rozhraní REST API nenabízí funkce, které potřebujete, například vytváření pracovních prostorů v TFVC.
| Balíček a popis | Binární soubory |
|---|---|
|
Microsoft.TeamFoundationServer.ExtendedClient Pracujte se správou verzí, pracovními položkami, sestavením a dalšími prostředky z klientské aplikace a spravujte je. Tento balíček nepodporuje OM klienta Net Standard. Tento balíček použijte jenom v případě, že naše rozhraní REST API nenabízí funkce, které potřebujete (například vytváření pracovních prostorů v TFVC). |
Microsoft.TeamFoundation.Build.Client.dll, Microsoft.TeamFoundation.DeleteTeamProject.dll, Microsoft.TeamFoundation.Diff.dll, Microsoft.TeamFoundation.Git.Client.dll, Microsoft.TeamFoundation.SharePointReporting.Integration.dlla tak dále. |
Instalovat
Nainstalujte z příkazového řádku správce balíčků NuGet:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Připojit
Pokud chcete vytvořit ověřené připojení k Azure DevOps, získejte httpClient pro službu, se kterou chcete pracovat, a pak volejte metody pro tuto službu.
Podívejte se na následující příklady:
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;
}
Cesty ověřování, které vytvářejí interaktivní dialog, nejsou dostupné ve verzi .NET Standard klientských knihoven .NET. Pokud používáte verzi .NET Standard, zadejte přihlašovací údaje explicitněji k ověření, například v následujícím příkladu.
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;
}
}
}
Návod
Ověřování ID Microsoft Entra: V předchozích příkladech se k ověřování používají tokeny ID Microsoft Entra. Další informace najdete v tématu Ověřování v Azure DevOps pomocí Microsoft Entra.
Další ukázky ověřování najdete v tématu Ukázky .NET.
Odkazy
Další informace a referenční dokumentaci k up-to-date najdete v prohlížeči rozhraní .NET API.
Vzorky
Podívejte se na ukázky na naší stránce ukázek .NET.
Další informace o balíčcích NuGet naleznete v tématu Microsoft.VisualStudio.Services.Client.
Známé problémy
Dialogové okno interaktivního ověřování se nezobrazuje při použití Azure DevOps OM v jednom vláknovém bytě (STA)
Dialogové okno interaktivního ověřování se nezobrazuje v případech, kdy váš kód běží z jednovláknového apartmánu (STA). K tomuto problému obvykle dochází z aplikací WPF . Chcete-li tento problém vyřešit, můžete změnit inicializační metodu tak, aby byla asynchronní a vyžaduje ověřování jako v následujícím příkladu.
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);
...
}
Používání verzí Azure DevOps OM se standardem NetStandard 2.0
Pro naše balíčky NuGet verze 16.143.1 podporujeme NetStandard 2.0. Tyto balíčky korelují s Azure DevOps Serverem a jsou plně kompatibilní s Azure DevOps.
Balíček Microsoft.TeamFoundationServer.ExtendedClient nemá podporu NetStandard
Microsoft.TeamFoundationServer.ExtendedClient nepodporuje verzi kompatibilní s netStandardem.
Důležité
Tento balíček obsahuje náš starší objektový model SOAP, který jsme nahradili novějším objektový model REST. Už neinvestujeme do staršího objektového modelu SOAP a nemáme v plánu vytvořit verzi NetStandard.