Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As partes do Suplemento do SharePoint deste artigo são diretrizes herdadas. A desativação abaixo não desativa as outras APIs ou plataformas discutidas aqui.
Importante
Os suplementos do SharePoint atingiram o fim da vida útil no SharePoint Online em 2 de abril de 2026. Os suplementos hospedados no SharePoint e hospedados pelo provedor foram desativados e não funcionam mais no SharePoint Online, incluindo nuvens governamentais. As diretrizes de desenvolvimento, implantação e uso de suplementos são mantidas para referência histórica e para cenários aplicáveis do Servidor do SharePoint, não para novas soluções do SharePoint Online.
Os suplementos do Servidor do SharePoint implantados por meio de um catálogo de aplicativos local não são desativados por essa alteração. A aquisição de Suplementos do SharePoint do marketplace público terminou em 2 de abril de 2026 para o Servidor do SharePoint.
Essa desativação não desativa APIs REST do SharePoint, CSOM, JSOM ou SPFx (Estrutura do SharePoint). Para o SharePoint Online, use SPFx para extensões de interface do usuário e o Microsoft Entra ID para autenticação para aplicativos externos. Consulte o anúncio de desativação e as diretrizes de migração de suplemento.
Ao usar formulários do InfoPath com code-behind, os formulários dependem de soluções de área restrita baseadas em código para executar o code-behind. Este artigo ajuda você a corrigir ou transformar seus formulários do InfoPath para que eles não dependam mais de soluções de área restrita.
Observação
As soluções de área restrita baseadas em código foram preteridas em 2014, e o SharePoint Online iniciou o processo para remover completamente esse recurso. As soluções de área restrita baseadas em código também foram preteridas no SharePoint 2013 e no SharePoint 2016.
Analisar seus formulários do InfoPath
Nesta seção, descrevemos um modelo que você pode usar para analisar e corrigir seus formulários do InfoPath. Dependendo do formulário, você pode corrigi-lo e reimplantá-lo ou talvez seja necessário sair do InfoPath e usar uma abordagem alternativa para obter a funcionalidade necessária.
Antes de executar qualquer ação, é importante que você avalie a necessidade comercial do formulário. Muitas vezes vemos muitos formulários que não são mais relevantes para os negócios e, nesses casos, é mais fácil simplesmente descartar o formulário.
Determinar se os formulários do InfoPath usam code-behind
Para determinar isso, recomendamos que você use a ferramenta de scanner da solução SandBox do SharePoint. O relatório dessa ferramenta indica se a solução de área restrita vem de um arquivo do InfoPath. A ferramenta também informa se o assembly usado na solução é inútil, conforme descrito posteriormente neste artigo.
Determine se seus formulários ainda são relevantes
Antes de mergulhar no trabalho de correção/transformação, é importante determinar se o formulário ainda é crítico para seus negócios. Em caso afirmativo, continue para a próxima seção; Caso contrário, você precisará pensar sobre os dados criados usando este formulário.
Normalmente, os dados foram criados como arquivos XML do InfoPath que residem em uma lista do SharePoint. Se você remover o formulário, não poderá mais visualizar os dados. Às vezes, tudo bem, porque o formulário e os dados não são mais relevantes. No entanto, se você quiser poder acessar os dados, poderá converter os dados provenientes dos arquivos XML do InfoPath em dados de itens de lista do SharePoint. Para fazer isso, consulte o aplicativo de console EmpRegConsole de Transformação PnP.
Baixar os formulários do InfoPath (arquivo XSN) para inspeção
Se você confirmou que possui formulários do InfoPath que exigem trabalho, deverá baixá-los. Os formulários do InfoPath com code-behind são implantados como Biblioteca de Formulários ou Tipo de Conteúdo do Site.
Biblioteca de Formulários
Nesse caso, o arquivo XSN está dentro da pasta Formulários da biblioteca de formulários na qual o formulário do InfoPath foi implantado. Para localizar a biblioteca de formulários, veja o nome do pacote WSP que segue esta convenção: InfoPath Form_LibName_id.
Depois de conhecer a biblioteca de formulários, você precisa baixar o arquivo template.xsn da pasta Formulários da biblioteca. Você pode fazer isso construindo uma URL como esta, URL da biblioteca + /Forms/template.xsn (por exemplo: https://contoso.sharepoint.com/sites/infopath1/IHaveCodeBehind/Forms/template.xsn) e usando o navegador para baixar o arquivo.
Tipo de Conteúdo do Site
Os formulários do InfoPath implantados como tipo de conteúdo do site têm seu arquivo XSN armazenado em uma biblioteca de formulários conectada ao tipo de conteúdo no momento da implantação do formulário. Como na seção anterior, você pode obter o nome da biblioteca a partir do nome do pacote WSP. O que é diferente desta vez é que o formulário é realmente armazenado como um arquivo na biblioteca, então você pode simplesmente baixá-lo da biblioteca de formulários.
Corrigir seus formulários do InfoPath
As seções anteriores mostraram os formulários do InfoPath com code-behind, mas esses formulários realmente contêm code-behind útil? Há muitos formulários para os quais o autor do formulário escolheu acidentalmente o botão Editor de Código na faixa de opções Desenvolvedor do InfoPath.
Se você fez isso, pode ter um code-behind que não faz nada. Ao removê-lo, você pode converter seu formulário do InfoPath com code-behind em um formulário do InfoPath sem code-behind e sem dependência de soluções de área restrita.
Determinar se o code-behind de seus formulários é inútil
O verificador da Solução de Área Restrita do SharePoint informa se o formulário do InfoPath tem código inútil. No entanto, você pode se perguntar como pode distinguir entre code-behind inútil e necessário, pois só é possível corrigir código inútil. Se você ainda tiver o formulário original (não aquele baixado nas etapas anteriores), basta olhar o código.
A seguir está o código vazio padrão e, se o código for semelhante, o formulário poderá ser corrigido descartando o código.
using Microsoft.Office.InfoPath;
using System;
using System.Xml;
using System.Xml.XPath;
namespace Form1
{
public partial class FormCode
{
// Member variables are not supported in browser-enabled forms.
// Instead, write and read these values from the FormState
// dictionary using code such as the following:
//
// private object _memberVariable
// {
// get
// {
// return FormState["_memberVariable"];
// }
// set
// {
// FormState["_memberVariable"] = value;
// }
// }
// NOTE: The following procedure is required by Microsoft InfoPath.
// It can be modified using Microsoft InfoPath.
public void InternalStartup()
{
}
}
}
Caso tenha apenas o arquivo XSN baixado na etapa anterior, você pode renomear o arquivo XSN como um arquivo cab (por exemplo, template.cab), extrair o assembly e usar ferramentas de reflexão do .NET (como o navegador de assembly e descompilador .NET de software livre ILSpy) para inspecionar o código.
Uma exibição típica de code-behind inútil se parece com a figura a seguir no ILSpy.
Descarte o code-behind dos formulários do InfoPath para corrigi-los
Se você tiver confirmado que seu code-behind é inútil, você pode descartá-lo fazendo o seguinte:
Abra o formulário no InfoPath Designer (clique com o botão direito do mouse em Design).
Vá paraOpções deformulário de informações>de arquivo>.
Escolha a categoria Programação e, em seguida, escolha Remover Código.
Publique o formulário novamente emPublicação Rápida de Informações>do Arquivo>.
Desative a solução de área restrita vinculada em Soluções de Configurações> do Site.
Confirme se o formulário funciona conforme o esperado.
Exclua a solução de área restrita.
Observação
Se você não tiver mais acesso ao arquivo XSN e ao código-fonte do InfoPath, ainda poderá corrigir esses formulários desativando as soluções de área restrita que têm código inútil. Faça isso apenas para os mencionados na saída do relatório de solução de área restrita com IsEmptyInfoPathAssembly = true.
Migrar seus formulários do InfoPath
Se as diretrizes das seções anteriores não forem aplicáveis aos formulários do InfoPath, isso significa que seus formulários ainda são relevantes para os negócios e contêm código oculto que você não pode descartar. Se for esse o caso, a solução típica é se afastar do InfoPath, o que pode ser feito das seguintes maneiras:
Crie um Suplemento do SharePoint que aproveite APIs remotas para ler/gravar dados do SharePoint.
Criar um aplicativo usando o Azure PowerApps ou o Microsoft Flow.
Criar o SharePoint Add-Ins para substituir seus formulários do InfoPath
Quando você opta por usar o SharePoint Add-Ins para substituir seus formulários do InfoPath, você tem várias opções. A seguir estão três opções; No entanto, você pode usar variações destes.
Padrões comuns de codificação do InfoPath
Para ajudá-lo melhor na conversão de seu formulário do InfoPath, a seguir está uma lista de 11 padrões de codificação comuns do InfoPath e como você pode implementar esses padrões usando as três opções de suplemento do SharePoint.
Para fazer isso, primeiro desenvolvemos um formulário de referência do InfoPath que usa os padrões de codificação mais comuns do InfoPath e, em seguida, migramos esse formulário para três tipos de Suplemento do SharePoint.
Os links a seguir mostram esses padrões comuns:
- Preencher campos ao carregar formulário - definir informações do usuário
- Preencher campos no carregamento do formulário - ler informações da lista
- Preencher campos no carregamento do formulário - ler dados da lista
- Enviar o formulário via código
- Alternar modo de exibição após o envio do formulário
- Recuperar dados do usuário
- Ler a coleta de dados e definir vários controles
- Carregamento de dados em cascata
- Carregar ou excluir anexos
- Adicionar ou remover usuário de grupos de sites
- Carregar item existente no formulário
Migrar seus dados do InfoPath
Depois de mover seus formulários do InfoPath para uma nova solução, talvez você também queira migrar seus dados do InfoPath XML para dados de lista regulares do SharePoint ou para a camada de dados de sua escolha. Como os arquivos do InfoPath são arquivos XML, é muito fácil lê-los e transformá-los.
Para fazer isso, use o aplicativo de console PnP-Transformation EmpRegConsole.
Abrir formulários existentes
Assim que as operações baseadas em código são desabilitadas, o código não pode mais ser executado na área restrita. Portanto, se você tiver formulários que executam código, a abertura dos formulários existentes não funcionará mais.
As etapas a seguir podem ajudá-lo a lidar com isso:
Se você migrou seu formulário do InfoPath para uma nova solução, provavelmente já converteu seus dados e, nesse caso, está bem.
Se você optar por manter o formulário como está (por exemplo, porque ele não é mais relevante para os negócios), mas ainda quiser abrir os formulários existentes, poderá seguir um destes procedimentos:
Remova o code-behind do formulário e publique-o novamente (consulte a seção Soltar code-behind dos formulários do InfoPath para corrigi-los ).
Use o Cliente InfoPath para abrir os formulários.
Migre os dados do formulário para dados simples da lista do SharePoint (consulte a seção Migrar seus dados do InfoPath ).