Sdílet prostřednictvím


Klientské knihovny .NET

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í

Diagram závislostí znázorňuje vztah mezi Services.Client, Services.InteractiveClient a TeamFoundationServer.Client.

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.