Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
As bibliotecas de cliente estão disponíveis para desenvolvedores .NET que criam aplicativos e serviços do Windows que se integram ao Azure DevOps. As bibliotecas de cliente integram-se com o acompanhamento de itens de trabalho, controle de versão, compilação e outros serviços. Esses pacotes facilitam a aquisição e a redistribuição das bibliotecas necessárias para seu aplicativo ou serviço.
Sugestão
Encontre a classe de cliente .NET e o método de API correspondentes, usando os Exemplos de Biblioteca de Cliente .NET e a Referência da API do Azure DevOps .
Diagrama de dependência
Recursos das bibliotecas de cliente .NET
As bibliotecas de cliente .NET para Azure DevOps oferecem vários recursos importantes que facilitam a integração com serviços no Azure DevOps de seus aplicativos e serviços do Windows:
- Transferível a partir do NuGet.org: importe facilmente as bibliotecas para os seus projetos do Visual Studio transferindo-as a partir do NuGet.org.
- Licenciado para redistribuição: As bibliotecas são licenciadas para redistribuição em seus aplicativos e serviços. Você pode visualizar a licença para obter mais detalhes.
- Acesso às APIs: obtenha acesso tanto ao modelo de objeto de cliente tradicional como às APIs REST para interagir com o Azure DevOps programaticamente.
- Suporte a desafios de declarações: A partir da versão 20.259.0, as bibliotecas de cliente .NET agora podem retornar tokens com desafios de declarações que podem ser usados para lidar normalmente com solicitações de reautenticação após eventos críticos da empresa (por exemplo, redefinições de senha, exclusões de conta, etc.) como parte de nosso suporte para Avaliação de Acesso Contínuo. O suporte a Python e Go chegará no segundo semestre de 2025.
Pacote e tabela de mapeamento de versão do Azure DevOps
A tabela a seguir mapeia as versões de pacote das bibliotecas de cliente .NET para as versões correspondentes do Azure DevOps Server. Use esta tabela para determinar qual versão do pacote corresponde à sua versão do Azure DevOps.
| Versão do pacote | Versão do Azure DevOps |
|---|---|
| 16.205.x | versions >= Azure DevOps Server 2022 |
| 16.170.x | versions >= Azure DevOps Server 2020 |
Para obter as versões de visualização mais recentes, consulte a galeria de pacotes NuGet .
Pacotes REST
A tabela a seguir lista as bibliotecas de cliente .NET disponíveis para acessar vários serviços por meio de APIs REST públicas. Esses pacotes podem ser baixados do NuGet.org e fornecem os binários necessários para integração com o Azure DevOps.
| Pacotes e descrição | Binários |
|---|---|
|
Microsoft.VisualStudio.Services.Client Fornece acesso a serviços de plataforma compartilhada por meio de APIs REST públicas, como organização, perfil, identidade, segurança e muito mais. |
Microsoft.VisualStudio.Services.WebApi.dll, Microsoft.VisualStudio.Services.Common.dll, Microsoft.TeamFoundation.Common.dll |
|
Microsoft.TeamFoundationServer.Client Fornece acesso ao controle de versão, rastreamento de item de trabalho, compilação e muito mais por meio de APIs REST públicas. |
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.dlle assim por diante. |
|
Microsoft.VisualStudio.Services.InteractiveClient Suporta aplicações que requerem início de sessão interativo por parte de um utilizador. |
Microsoft.VisualStudio.Services.Client.Interactive.dll |
|
Microsoft.VisualStudio.Services.Release.Client Fornece acesso ao Release Service por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.dll |
|
Microsoft.TeamFoundation.DistributedTask.Common.Contracts Fornece os modelos usados para acessar o Serviço de Tarefas Distribuídas por meio de APIs REST públicas. |
Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll |
|
Microsoft.TeamFoundation.DistributedTask.WebApi Fornece acesso ao Serviço de Tarefas Distribuídas por meio de APIs REST públicas. |
Microsoft.TeamFoundation.DistributedTask.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceHooks.WebApi Fornece acesso ao Serviço de Ganchos de Serviço por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.ServiceHooks.WebApi.dll |
|
Microsoft.VisualStudio.Services.Gallery.WebApi Fornece acesso ao Serviço de Galeria por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.Gallery.WebApi.dll |
|
Microsoft.VisualStudio.Services.Notifications.WebApi Fornece acesso ao Serviço de Notificações por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.Notifications.WebApi.dll |
|
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi Fornece acesso ao Serviço de Gerenciamento de Extensões por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi Fornece acesso ao Serviço de Gerenciamento de Direitos de Membro por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.dll |
|
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi Fornece acesso aos pontos de extremidade de serviço por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.dll |
|
Microsoft.VisualStudio.Services.Search.Client Fornece acesso ao Serviço de Pesquisa por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.Search.Shared.WebApi.dll, Microsoft.VisualStudio.Services.Search.WebApi.dll |
|
Microsoft.TeamFoundation.PublishTestResults Essa tarefa pode ser usada para publicar resultados de teste e carregar anexos de teste no Azure DevOps. Os seguintes formatos de resultados são suportados com este pacote: 1. JUnit - publicar testes de projetos JUnit, 2. NUnit - publicar testes de projetos do NUnit 3. VSTest - publicar testes de projetos do Visual Studio, 4. Xunit - publicar testes de projetos Xunit. |
Microsoft.TeamFoundation.TestClient.PublishTestResults.dll |
|
Microsoft.VisualStudio.Services.Audit.WebApi Fornece acesso ao Serviço de Auditoria por meio de APIs REST públicas. |
Microsoft.VisualStudio.Services.Audit.WebApi.dll |
|
Microsoft.Azure.Pipelines.Policy.Client Fornece acesso às aprovações, verificações e autorizações do pipeline por meio de APIs REST públicas. |
Microsoft.Azure.Pipelines.Policy.Client.dll |
Sugestão
APIs SOAP herdadas: Se você tiver um aplicativo existente do Windows que usa o Modelo de Objeto de Cliente do TFS, use Microsoft.TeamFoundationServer.ExtendedClient para APIs baseadas em SOAP. Este pacote só é recomendado quando as APIs REST não fornecem a funcionalidade específica necessária (como a criação de espaço de trabalho TFVC). Este pacote não suporta o .NET Standard e a Microsoft não está mais investindo em APIs baseadas em SOAP.
Embalagem de sabão
A tabela a seguir lista as bibliotecas de cliente .NET disponíveis para acessar vários serviços por meio de APIs SOAP. Esses pacotes podem ser baixados do NuGet.org e fornecem os binários necessários para integração com o Azure DevOps. Use esses pacotes somente quando as APIs REST não oferecerem a funcionalidade necessária, por exemplo, a criação de espaços de trabalho no TFVC.
Instalar
Instale a partir de um prompt de comando do gerenciador de pacotes NuGet:
PM> Install-Package Microsoft.TeamFoundationServer.ExtendedClient
Conectar
Para criar uma ligação autenticada com o Azure DevOps, obtenha um HttpClient para o serviço com o qual pretende trabalhar e efetue chamadas nesse serviço.
Veja os seguintes exemplos:
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;
}
Os caminhos de autenticação que produzem uma caixa de diálogo interativa não estão disponíveis na versão .NET Standard das bibliotecas de cliente .NET. Quando você estiver usando a versão .NET Standard, forneça suas credenciais mais explicitamente para autenticar, como no exemplo a seguir.
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;
}
}
}
Sugestão
Autenticação do Microsoft Entra ID: os exemplos anteriores usam tokens do Microsoft Entra ID para autenticação. Para obter mais informações, consulte Autenticar no Azure DevOps usando o Microsoft Entra.
Para obter mais exemplos de autenticação, consulte .NET Samples.
Referência
Para mais informações e para obter a documentação de referência de data up-to, consulte o navegador de API do .NET.
Exemplos
Confira exemplos em nossa página de exemplos .NET.
Para obter mais informações sobre pacotes NuGet, consulte Microsoft.VisualStudio.Services.Client.
Problemas conhecidos
A caixa de diálogo de autenticação interativa não aparece ao utilizar o OM do Azure DevOps num STA (Single Threaded Apartment)
A caixa de diálogo de autenticação interativa não aparece nos casos em que o seu código está a ser executado num Single Threaded Apartment (STA). Esse problema geralmente pode ocorrer a partir de WPF aplicativos. Para contornar esse problema, você pode alterar seu método de inicialização para ser assíncrono e solicitar autenticação como no exemplo a seguir.
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);
...
}
Usando versões NetStandard 2.0 do Azure DevOps OM
Para a versão 16.143.1 dos nossos pacotes NuGet, suportamos NetStandard 2.0. Esses pacotes se correlacionam com o Servidor de DevOps do Azure e são totalmente compatíveis com o Azure DevOps.
O pacote Microsoft.TeamFoundationServer.ExtendedClient não tem suporte a NetStandard
O Microsoft.TeamFoundationServer.ExtendedClient não suporta uma versão compatível com NetStandard.
Importante
Este pacote inclui nosso modelo de objeto SOAP mais antigo, que substituímos por nosso modelo de objeto REST mais recente. Não estamos mais investindo no modelo de objeto SOAP mais antigo e não temos planos de criar uma versão NetStandard dele.