Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Microsoft está fazendo a transição do SDK do Microsoft Dataverse para .NET para um novo cliente de serviço Web que usa Biblioteca do Microsoft Authenticator (MSAL) para autenticação. Este artigo explica por que Microsoft está fazendo essas alterações, o que é afetado e como atualizar seus aplicativos cliente para que eles continuem funcionando conforme o esperado.
Note
Algumas documentações de desenvolvedor e código de exemplo existentes usam as APIs do SDK do Dataverse encontradas no pacote NuGet CoreAssemblies . Este artigo descreve o pacote NuGet Dataverse.Client mais recente e recomendado e as alterações necessárias para usá-lo. Microsoft está atualizando a documentação e o código de exemplo ao longo do tempo.
Porquê a alteração?
Vários motivos justificam as alterações no SDK do Dataverse para .NET. Alguns motivos são descritos nas seções a seguir.
Suporte a aplicativos multiplataforma
A nova classe Dataverse ServiceClient dá suporte ao desenvolvimento do .NET Core. Para ver quais destinos de build têm suporte, vá para Microsoft. PowerPlatform.Dataverse.Client e selecione a guia Estruturas.
Autenticação MSAL
A ADAL (Biblioteca de Autenticação do Microsoft Azure Active Directory.NET) não está recebendo suporte. Biblioteca do Microsoft Authenticator (MSAL.NET) é a API de autenticação recomendada daqui para frente. A nova API do ServiceClient usa MSAL, enquanto a API crmServiceClient mais antiga usa a ADAL.
Desempenho e benefícios funcionais
A classe Dataverse ServiceClient dá suporte a uma superfície de interface menor, autenticação embutida por instância e Microsoft.Extensions.Logging.ILogger. Para autenticação embutida, você pode passar uma função de manipulador de autenticação personalizada para o ServiceClient construtor. Usando essa abordagem, você pode ter um manipulador de autenticação por conexão de serviço Web em vez de apenas um por processo.
O que é afetado?
A lista a seguir resume o impacto em diferentes tipos de projetos de codificação.
Plug-ins ou atividades personalizadas de fluxo de trabalho – sem alterações
Aplicativos online novos ou existentes – este artigo é para você
Aplicativos locais – este artigo ainda não é para você
O que você precisa fazer?
As assinaturas de membro de classe de ServiceClient e CrmServiceClient são as mesmas, exceto para os nomes de classe (em alguns casos). Não é necessário fazer alterações significativas no código do aplicativo.
projetos de aplicativo baseados no .NET Framework (online)
Para atualizar seus projetos de aplicativo, siga estas etapas:
- Remova do seu projeto os pacotes NuGet CoreAssemblies (e relacionados) mais antigos.
- Adicione o pacote NuGet dataverse.client mais recente ao seu projeto.
- Altere cada menção da classe CrmServiceClient para ServiceClient em seu código.
- Corrija qualquer incompatibilidade de namespace, pois a nova
ServiceClientclasse agora está noMicrosoft.PowerPlatform.Dataverse.Clientnamespace.
projetos baseados em .NET Core (online)
Adicione o pacote NuGet dataverse.client aos seus projetos, adicione código para chamar as APIs do SDK do Dataverse e compile.
Plug-ins ou atividades personalizadas de fluxo de trabalho
Agora que o Framework de Eventos (no sandbox) oferece suporte a código compilado no .NET Framework 4.8, recompile seus plug-ins existentes e suas atividades de fluxo de trabalho personalizadas voltados para esse framework. No entanto, como o Dataverse continua a dar suporte a versões herdadas (4.6.2, 4.7, 4.7.x) do .NET Framework, você pode optar por manter seus destinos de build de código personalizado definidos para essas versões herdadas por enquanto.
Continue usando os pacotes NuGet Microsoft.CrmSdk.CoreAssemblies (e outros relacionados).
Clientes locais
Deixe os projetos e o código do aplicativo como estão. Continue usando o pacote NuGet Microsoft.CrmSdk.CoreAssemblies e a classe CrmServiceClient. No entanto, planeje atualizar seus projetos para deixar de usar quaisquer clientes de serviço personalizados e, em vez deles, usar o CrmServiceClient ou ServiceClient em breve. Consulte abaixo o cronograma planejado para a desativação do endpoint SOAP em 2011.
Note
Se você estiver usando a autenticação personalizada com CrmServiceClient, poderá continuar a usar seu código de autenticação personalizado com ServiceClient.
Exemplos de código
Disponível aqui: exemplos de código do ServiceClient
Timeline
A tabela a seguir lista algumas datas importantes para ter em mente.
| Período de tempo | Acontecimento |
|---|---|
| Junho de 2022 | Lançamento de disponibilidade geral do pacote NuGet Microsoft.PowerPlatform.Dataverse.Client |
| Dezembro de 2022 | O suporte da Microsoft ao ADAL termina |
| Em uma data futura | Desligamento planejado do endpoint SOAP 2011 para acesso de aplicativos cliente que não usam nossos clientes de serviço (CrmServiceClient ou ServiceClient) |
Importante
A CrmServiceClient classe continua funcionando como documentada mesmo após a autenticação ADAL ser desativada. Ambas as classes de cliente de serviço continuam funcionando conforme documentado após o endpoint SOAP de 2011 ser desativado. Se necessário, a Microsoft poderá lançar um assembly atualizado contendo clientes de serviço atualizados que seu aplicativo precisará carregar em tempo de execução.
Consulte também
Visão geral da Biblioteca de Autenticação da Microsoft (MSAL)
Migrar aplicativos para a Biblioteca do Microsoft Authenticator (MSAL)