Sintomas
Depois de instalar uma das seguintes atualizações, algumas páginas do SharePoint não são renderizadas e geram mensagens de erro como as seguintes :
Erro de Web Part: Uma Web Part ou um Controle de formulário da Web nessa página não pode ser exibida ou importada. O tipo não pôde ser encontrado ou não está registrado como seguro.
Motivo
Uma lista de permissões de controles ASP.NET é aplicada no SharePoint 2010 e no SharePoint 2013 após a instalação das atualizações. Se as web parts ou controles nas páginas do SharePoint não forem adicionados à lista de permissões, as páginas não serão renderizadas.
Resolução
Se as páginas não forem mais renderizadas porque usam um controle que não está na lista SafeControls, siga estas etapas:
-
Revise os logs do SharePoint Unified Logging Service (ULS) para localizar a tag 9s9ay ou uma mensagem que contenha "Controle de bloqueio com propriedade" que indica que um controle está bloqueado.
-
Identifique o tipo, o namespace e o nome forte do assembly na mensagem de erro.
-
Exemplo 1:
Dada a seguinte mensagem de erro:
"O tipo Contoso.Customizations.WebPartControl, Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a não foi encontrado ou não está registrado como seguro."
Type = "WebPartControl"
Namespace = "Contoso.Customizations"
Nome forte do assembly = "Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a"-
Exemplo 2:
Dada a seguinte mensagem de erro:
"Controle de bloqueio com marcação de passagem de propriedade. [tagName: SharePoint:WebPartControl][propName: propName1][type: typeName1]"
Type = "WebPartControl" (not "typeName1")
Você pode encontrar os namespaces e dados de assembly no Microsoft Docs consultando o nome do tipo. -
-
Adicionar um novo elemento SafeControls para o tipo especificado, namespace e nome forte de assembly ao arquivo Web.config file no elemento configuration/SharePoint/SafeControls, conforme descrito em Elemento SafeControls (solução) e depois defina o atributo Safe como TRUE.
Para obter mais informações sobre o formato dos valores dos atributos no elemento SafeControls, consulte a tabela na etapa 12 em Marcando controles seguros no designer de pacotes.
Solução alternativa
Se você tiver muitos controles não seguros, poderá contornar esse problema seguindo estas etapas:
-
Edite o elemento SafeMode no arquivo Web.config no elemento configuration/SharePoint.
-
Adicione um atributo ControlCompatMode que tenha um valor de True.
Cuidado
Não recomendamos essa solução alternativa porque ela permite que controles ASP.net não seguros sejam executados.
Content Idea Request: CONTENT IDEA REQUEST 120896
Author: secure
Writer: v-weizhu
Tech Reviewer: qingliu; gli; mswann
Editor: v-jesits