.NET-ügyfélkódtárak

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Az ügyfélkódtárak az Azure DevOpsszal integrálható Windows-alkalmazásokat és szolgáltatásokat létrehozó .NET-fejlesztők számára érhetők el. Az ügyfélkódtárak integrálhatók a munkaelemek nyomon követésével, a verziókövetéssel, a buildeléssel és más szolgáltatásokkal. Ezek a csomagok lecserélik a hagyományos TFS-ügyfél OM-telepítőt, és megkönnyítik az alkalmazás vagy szolgáltatás által igényelt kódtárak beszerzését és újraterjesztését.

Tipp.

Keresse meg a megfelelő .NET-ügyfélosztályt és API-metódust a .NET-ügyfélkódtár-minták és az Azure DevOps API-referencia használatával.

Függőségi diagram

A függőségi diagram a Services.Client, a Services.InteractiveClient és a TeamFoundationServer.Client közötti kapcsolatot mutatja be.

Funkciók

  • Letölthető NuGet.org és egyszerűen importálható a Visual Studio-projektekbe
  • A kódtárak licencelve vannak az alkalmazásokban és szolgáltatásokban való újraterjesztéshez (a licenc megtekintése)
  • A hagyományos ügyfélobjektum-modell API-k és REST API-k elérése

Feljegyzés

A REST-alapú ügyfelek csak az Azure DevOps és a TFS 2015 vagy újabb verziójával működnek. Az Azure DevOps ügyfélkódtárakkal való kibővítéséről és integrálásáról további információt a Team Foundation kiterjesztése című témakörben talál.

Csomag- és Azure DevOps-verzióleképezési tábla

Csomag verziója Azure DevOps-verzió
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

A legújabb előzetes verziókért tekintse meg a NuGet-csomagok gyűjteményét.

REST-csomagok

Csomagok és leírás Bináris fájlok
Microsoft.VisualStudio.Services.Client
Nyilvános REST API-kon keresztül biztosít hozzáférést a megosztott platformszolgáltatásokhoz, például a szervezethez, a profilhoz, az identitáshoz, a biztonsághoz stb.
Microsoft.VisualStudio.Services.WebApi.dll, , Microsoft.VisualStudio.Services.Common.dllMicrosoft.TeamFoundation.Common.dll
Microsoft.TeamFoundationServer.Client
Hozzáférést biztosít a verziókövetéshez, a munkaelemek nyomon követéséhez, a buildeléshez és egyebekhez a nyilvános REST API-kon keresztül.
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és így tovább.
Microsoft.VisualStudio.Services.InteractiveClient
Támogatja azokat az alkalmazásokat, amelyekhez egy felhasználó interaktív bejelentkezést igényel.
Microsoft.VisualStudio.Services.Client.Interactive.dll
Microsoft.VisualStudio.Services.Release.Client
Hozzáférést biztosít a kiadási szolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll
Microsoft.TeamFoundation.DistributedTask.Common.Contracts
Az elosztott feladatszolgáltatás nyilvános REST API-kkal való eléréséhez használt modelleket tartalmazza.
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll
Microsoft.TeamFoundation.DistributedTask.WebApi
Hozzáférést biztosít az elosztott feladatszolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.TeamFoundation.DistributedTask.WebApi.dll
Microsoft.VisualStudio.Services.ServiceHooks.WebApi
Hozzáférést biztosít a Service Hooks szolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll
Microsoft.VisualStudio.Services.Gallery.WebApi
Hozzáférést biztosít a Katalógusszolgáltatáshoz nyilvános REST API-k használatával.
Microsoft.VisualStudio.Services.Gallery.WebApi.dll
Microsoft.VisualStudio.Services.Notifications.WebApi
Hozzáférést biztosít az Értesítési szolgáltatáshoz nyilvános REST API-k használatával.
Microsoft.VisualStudio.Services.Notifications.WebApi.dll
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi
Hozzáférést biztosít a Bővítménykezelési szolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi
Hozzáférést biztosít a tagjogosultság-kezelési szolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi
Hozzáférést biztosít a szolgáltatásvégpontokhoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll
Microsoft.VisualStudio.Services.Search.Client
Hozzáférést biztosít a keresési szolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll, Microsoft.VisualStudio.Services.Search.WebApi.dll
Microsoft.TeamFoundation.PublishTestResults
Ez a feladat használható teszteredmények közzétételére és tesztmellékletek feltöltésére az Azure DevOpsban. A csomag a következő eredményformátumokat támogatja: 1. JUnit – tesztek közzététele Junit-projektekből, 2. NUnit– tesztek közzététele Nunit-projektekből, 3. VSTest– tesztek közzététele Visual Studio-projektekből, 4. Xunit– tesztek közzététele Xunit-projektekből
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll
Microsoft.VisualStudio.Services.Audit.WebApi
Hozzáférést biztosít a naplózási szolgáltatáshoz nyilvános REST API-kon keresztül.
Microsoft.VisualStudio.Services.Audit.WebApi.dll
Microsoft.Azure.Pipelines.Policy.Client
Hozzáférést biztosít a folyamat jóváhagyásához, ellenőrzéséhez és engedélyezéséhez nyilvános REST API-kon keresztül.
Microsoft.Azure.Pipelines.Policy.Client.dll

Tipp.

Ha rendelkezik egy meglévő Windows-alkalmazással vagy szolgáltatással, amely a TFS ügyfélobjektum-modellt használja, használja a .Microsoft.TeamFoundationServer.ExtendedClient

Szappancsomag

Csomag és leírás Bináris fájlok
Microsoft.TeamFoundationServer.ExtendedClient
A verziókövetés, a munkaelemek és a buildelés és egyéb erőforrások használata és kezelése az ügyfélalkalmazásból. Ez a csomag nem támogatja a Net Standard ügyfél OM-t. Csak akkor használja ezt a csomagot, ha a REST API-k nem biztosítják a szükséges funkciókat (például munkaterületek létrehozása a TFVC-ben)
Microsoft.TeamFoundation.Build.Client.dll, Microsoft.TeamFoundation.DeleteTeamProject.dll, Microsoft.TeamFoundation.Diff.dll, Microsoft.TeamFoundation.Git.Client.dll, Microsoft.TeamFoundation.SharePointReporting.Integration.dllés így tovább.

Telepítés

Telepítés NuGet-csomagkezelő parancssorból:

PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient

Kapcsolódás

Ha hitelesített kapcsolatot szeretne létrehozni az Azure DevOpsszal, szerezze be a használni kívánt szolgáltatáshoz tartozó HttpClient-et, majd hívja meg a metódusokat a szolgáltatáshoz.

Lásd az alábbi példákat:

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;
}

Az interaktív párbeszédpanelt eredményező hitelesítési útvonalak nem érhetők el a .NET-ügyfélkódtárak .NET Standard verziójában. Amikor a .NET Standard verziót használja, adja meg a hitelesítő adatait explicitebb módon a hitelesítéshez, például az alábbi példában.

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;
        }
    }
}

További hitelesítési mintákért lásd a .NET-mintákat.

Referencia

További információkért és a naprakész referenciadokumentációért tekintse meg a .NET API böngészőt.

Minták

Tekintse meg a mintákat a .NET-minták oldalán vagy közvetlenül a .NET GitHub-adattárban.

További információ a NuGet-csomagokról: Microsoft.VisualStudio.Services.Client.

Ismert problémák

Az interaktív hitelesítési párbeszédpanel nem jelenik meg az Azure DevOps OM egyetlen szálas lakásban (STA) való használatakor

Az interaktív hitelesítési párbeszédpanel nem jelenik meg olyan esetekben, amikor a kód egyetlen szálon futó lakásból (STA) fut. Ez a probléma gyakran előfordul a WPF-alkalmazásokban. A probléma megoldásához módosíthatja az inicializálási módszert aszinkronra, és kérheti a hitelesítést az alábbi példában leírtak szerint.

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();

    ...

}

Az Azure DevOps OM NetStandard 2.0-s verzióinak használata

NuGet-csomagjaink 16.143.1-es verziójához támogatjuk a NetStandard 2.0-t. Ezek a csomagok korrelálnak az Azure DevOps Server 2019 RTW-vel, és teljes mértékben kompatibilisek az Azure DevOpsszal.

A Microsoft.TeamFoundationServer.ExtendedClient csomag nem rendelkezik NetStandard-támogatással

A Microsoft.TeamFoundationServer.ExtendedClient nem támogatja a NetStandard-kompatibilis verziót.

Fontos

Ez a csomag tartalmazza a régebbi SOAP objektummodellt, amelyet az újabb REST objektummodell váltott fel. Már nem fektetünk be a régebbi SOAP objektummodellbe, és nem tervezzük annak NetStandard-verzióját létrehozni.