Клиентские библиотеки .NET
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Клиентские библиотеки доступны разработчикам .NET, создающим приложения и службы Windows, которые интегрируются с Azure DevOps. Клиентские библиотеки интегрируются с отслеживанием рабочих элементов, управлением версиями, сборкой и другими службами. Эти пакеты заменяют традиционный установщик OM клиента TFS и упрощают получение и распространение библиотек, необходимых приложению или службе.
Совет
Найдите соответствующий клиентский класс и метод API .NET, используя примеры клиентской библиотеки .NET и справочник по API Azure DevOps.
Схема зависимостей
Функции
- Скачиваемый из NuGet.org и легко импортируемый в проекты Visual Studio
- Библиотеки лицензированы для распространения в приложениях и службах (просмотр лицензии)
- Доступ как к традиционным API клиентской объектной модели, так и к REST API
Примечание.
Клиенты на основе REST работают только с Azure DevOps и TFS 2015 или более поздней версии. Дополнительные сведения о расширении и интеграции с Azure DevOps с помощью клиентских библиотек см. в разделе "Расширение Team Foundation".
Таблица сопоставления версий пакета и Azure DevOps
Версия пакета | Версия Azure DevOps |
---|---|
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 |
Последние предварительные версии см. в коллекции пакетов NuGet.
Пакеты REST
Пакеты и описание | Двоичные файлы |
---|---|
Microsoft.VisualStudio.Services.Client Предоставляет доступ к службам общей платформы через общедоступные ИНТЕРФЕЙСы REST API, такие как организация, профиль, удостоверение, безопасность и многое другое. |
Microsoft.VisualStudio.Services.WebApi.dll , , Microsoft.VisualStudio.Services.Common.dll Microsoft.TeamFoundation.Common.dll |
Microsoft.TeamFoundationServer.Client Предоставляет доступ к управлению версиями, отслеживанию рабочих элементов, сборке и многому другому через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.TeamFoundation.Build2.WebApi.dll , Microsoft.TeamFoundation.Core.WebApi.dll , , Microsoft.TeamFoundation.SourceControl.WebApi.dll Microsoft.TeamFoundation.WorkItemTracking.Process.WebApi.dll Microsoft.TeamFoundation.TestManagement.WebApi.dll и т. д. |
Microsoft.VisualStudio.Services.InteractiveClient Поддерживает приложения, требующие интерактивного входа пользователем. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
Microsoft.VisualStudio.Services.Release.Client Предоставляет доступ к службе выпуска через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Предоставляет модели, используемые для доступа к распределенной службе задач через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
Microsoft.TeamFoundation.DistributedTask.WebApi Предоставляет доступ к распределенной службе задач через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Предоставляет доступ к службе перехватчиков служб через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
Microsoft.VisualStudio.Services.Gallery.WebApi Предоставляет доступ к службе коллекции через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
Microsoft.VisualStudio.Services.Notifications.WebApi Предоставляет доступ к службе уведомлений через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Предоставляет доступ к службе управления расширениями через общедоступные ИНТЕРФЕЙСЫ REST API. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Предоставляет доступ к службе управления правами участников через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Предоставляет доступ к конечным точкам службы через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
Microsoft.VisualStudio.Services.Search.Client Предоставляет доступ к службе поиска через общедоступные ИНТЕРФЕЙСЫ REST API. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll , Microsoft.VisualStudio.Services.Search.WebApi.dll |
Microsoft.TeamFoundation.PublishTestResults Эту задачу можно использовать для публикации результатов теста и отправки вложения тестов в Azure DevOps. В этом пакете поддерживаются следующие форматы результатов: 1. JUnit — публикация тестов из проектов Junit, 2. NUnit— публикация тестов из проектов Nunit, 3. VSTest— публикация тестов из проектов Visual Studio, 4. Xunit— публикация тестов из проектов Xunit |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
Microsoft.VisualStudio.Services.Audit.WebApi Предоставляет доступ к службе аудита через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
Microsoft.Azure.Pipelines.Policy.Client Предоставляет доступ к утверждениям конвейера, проверка и авторизации через общедоступные ИНТЕРФЕЙСы REST API. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Совет
Если у вас есть существующее приложение или служба Windows, использующее клиентская объектная модель TFS, используйте Microsoft.TeamFoundationServer.ExtendedClient
.
Пакет soap
Пакет и описание | Двоичные файлы |
---|---|
Microsoft.TeamFoundationServer.ExtendedClient Работа с управлением версиями, рабочими элементами и сборкой и другими ресурсами из клиентского приложения. Этот пакет не поддерживает OM клиента Net Standard. Этот пакет используется только в том случае, если интерфейсы REST API не предлагают необходимые функции (например, создание рабочих областей в TFVC) |
Microsoft.TeamFoundation.Build.Client.dll , Microsoft.TeamFoundation.DeleteTeamProject.dll , , Microsoft.TeamFoundation.Git.Client.dll Microsoft.TeamFoundation.Diff.dll Microsoft.TeamFoundation.SharePointReporting.Integration.dll и т. д. |
Установка
Установите из командной строки диспетчера пакетов NuGet:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Связь
Чтобы создать прошедшее проверку подлинности подключение к Azure DevOps, получите httpClient для службы, с которой вы хотите работать, а затем вызовите методы для этой службы.
См. следующие примеры.
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;
}
Пути проверки подлинности, создающие интерактивное диалоговое окно, недоступны в версии .NET Standard клиентских библиотек .NET. При использовании версии .NET Standard укажите учетные данные более явно для проверки подлинности, как показано в следующем примере.
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;
}
}
}
Дополнительные примеры проверки подлинности см. в примерах .NET.
Справочные материалы
Дополнительные сведения и актуальную справочную документацию см. в браузере API .NET.
Примеры
Ознакомьтесь с примерами на странице примеров .NET или непосредственно в репозитории GitHub .NET.
Дополнительные сведения о пакетах NuGet см. в статье Microsoft.VisualStudio.Services.Client.
Известные проблемы
Диалоговое окно интерактивной проверки подлинности не отображается при использовании azure DevOps OM в одной потоковой квартире (STA)
Диалоговое окно интерактивной проверки подлинности не отображается в случаях, когда код выполняется из однопоточной квартиры (STA). Эта проблема часто возникает из приложений WPF . Чтобы обойти эту проблему, можно изменить метод инициализации на асинхронную и запрашивать проверку подлинности, как показано в следующем примере.
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();
...
}
Использование NetStandard 2.0 версий OM Azure DevOps
Для версии 16.143.1 пакетов NuGet мы поддерживаем NetStandard 2.0. Эти пакеты коррелируются с Azure DevOps Server 2019 RTW и полностью совместимы с Azure DevOps.
Пакет Microsoft.TeamFoundationServer.ExtendedClient не поддерживает NetStandard
Microsoft.TeamFoundationServer.ExtendedClient не поддерживает совместимую версию NetStandard.
Внимание
Этот пакет включает в себя старую объектную модель SOAP, которую мы заменили новой объектной моделью REST. Мы больше не инвестируем в старую объектную модель SOAP и не планируем создать ее версию NetStandard.