Share via


Solucionar problemas de soluções do SharePoint

Os seguintes problemas ou alertas podem ocorrer quando você depura soluções do SharePoint usando o depurador do Visual Studio. Para obter mais informações, confira Depurar soluções de fluxo de trabalho do SharePoint 2007.

Restrições de token em Web Parts visuais em área restrita

Web Parts visuais de soluções em área restrita não podem processar tokens padrão, como $SPUrl, que são compatíveis com o runtime do SharePoint. Como consequência, a URL não é resolvida e você não poderá visualizar o conteúdo no modo de exibição de Design no designer de Web Part visual se você fizer referência a ela diretamente em um elemento de script, como no exemplo a seguir:

<script src="<% $SPUrl:~site/SiteAssets/ListOperations.js %>"></script>

Para contornar essa limitação e resolver o token, faça referência a ele usando literais:

<asp:literal ID="Literal1" runat="server" Text="<script src='" />
<asp:literal ID="Literal2" runat="server" Text="<% $SPUrl:~site/SiteAssets/ListOperations.js %>" />
<asp:literal ID="Literal3" runat="server" Text="' type='text/javascript' ></script>" />

Restrições de caracteres em nomes de projetos e itens de projeto

Nomes de projetos e itens de projeto podem conter apenas caracteres válidos em um caminho de implantação no SharePoint 2010. Outros caracteres não são permitidos.

Mensagem de erro

Mensagem de erro "Caracteres inválidos".

Resolução

Para nomes de projetos e itens de projeto do SharePoint, use apenas os seguintes caracteres:

  • Caracteres ASCII alfanuméricos

  • Space

  • Ponto final (.)

  • Vírgula (,)

  • Sublinhado (_)

  • Hífen (-)

  • Barra invertida (\)

    Quando um projeto é empacotado, uma regra de validação verifica se a propriedade deployment-path para cada arquivo que você está implantando contém apenas esses caracteres válidos.

Erros ao criar campos personalizados

No Visual Studio, os campos personalizados são definidos em XML. Erros poderão ocorrer se um campo não for definido ou referenciado usando um formato específico.

Mensagem de erro

Mensagem de erro "Caracteres inválidos" no tempo de empacotamento.

Resolução

A ID de uma definição de campo deve ser um GUID entre chaves, como mostra o seguinte exemplo:

<Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Type="Note"
    Name="PatientName"
    DisplayName="Patient Name"
    Group="A Custom Group">
</Field>.

Como mostra o seguinte exemplo, uma referência de campo em um tipo de conteúdo deve ser definida usando o formato de elemento vazio (<FieldRef />), não usando elementos start/end (<FieldRef></FieldRef>):

<FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Name="PatientName"
    DisplayName="Patient Name"
    Required="TRUE"/>

Se o XML de origem para o campo estiver malformado, não for um arquivo XML válido ou tiver algum outro problema, ocorrerá o erro "Não é possível analisar o arquivo".

Novas definições de site que não sejam em inglês não aparecem na página de criação do site após a implantação

Depois de criar e implantar uma definição de site usando uma versão do Visual Studio que não seja o inglês (ou seja, uma versão com uma ID de localidade diferente de 1033), a guia Personalizações do SharePoint não aparecerá na caixa Seleção de Modelo e o novo modelo de site não aparecerá na página Novo Site do SharePoint.

Mensagem de erro

Nenhum.

Resolução

Esse problema ocorre devido a um valor incorreto na propriedade Path para o arquivo de configuração de definição de site webtemp, como o webtemp_SiteDefinitionProject1.xml. Na propriedade Path do arquivo webtemp, localizada no Local de Implantação, altere 1033 para a ID de localidade apropriada. Por exemplo, para usar uma localidade japonesa, altere o valor para 1041. Para obter mais informações, consulte o artigo sobre IDs de localidade atribuídas pela Microsoft.

Erro aparece quando um projeto de fluxo de trabalho é implantado em um sistema limpo

Esse problema ocorrerá se você implantar um projeto de fluxo de trabalho no Visual Studio em um sistema limpo. Um sistema limpo é um computador que tem uma nova instalação do Visual Studio e do SharePoint, mas nenhum projeto de fluxo de trabalho implantado.

Mensagem de erro

Não é possível localizar a lista do SharePoint: Histórico de Fluxo de Trabalho.

Resolução

Esse erro ocorre devido a uma lista de Histórico de Fluxo de Trabalho ausente. Como o ambiente de desenvolvimento é um sistema limpo, nenhum fluxo de trabalho está implantado e a lista Histórico de Fluxo de Trabalho ainda não existe. Para resolver esse problema, reabra o assistente de fluxo de trabalho, fazendo com que a lista Histórico de Fluxo de Trabalho seja criada.

Para enrar novamente no assistente de fluxo de trabalho

  1. No Gerenciador de Soluções, escolha o nó do fluxo de trabalho.

  2. Na janela Propriedades, escolha o botão de reticências (...) em qualquer propriedade que tenha um botão desses.

O usuário precisa atualizar a página do aplicativo no navegador durante a depuração para ver a imagem atualizada

Se você estiver depurando uma solução do SharePoint que contém uma página de aplicativo com um controle que exibe uma imagem, como um controle de Imagem HTML, é necessário atualizar a página no navegador para exibir as alterações feitas na imagem.

Erro: o local do site não é válido

Esse problema poderá ocorrer se o SharePoint Server não estiver instalado. Isso também poderá ocorrer se você não tiver acesso de administrador ao site do SharePoint especificado no Assistente de Personalização do SharePoint.

Mensagem de erro

  • O local do site do SharePoint não é válido.

Resolução

O evento Web de exclusão de site não ocorre no projeto de receptor de eventos

Quando você cria um projeto de receptor de eventos e seleciona determinados eventos da Web, como "um site está sendo excluído", o evento nunca ocorre.

Mensagem de erro

Nenhum.

Resolução

Esse problema ocorre porque o escopo do recurso deve ser "Site" para manipular eventos no nível do site, mas o escopo do recurso padrão para projetos de receptor de eventos é "Web". Os eventos da Web afetados são:

  • Um site está sendo excluído (WebDeleting)

  • Um site foi excluído (WebDeleted)

  • Um site está sendo movido (WebMoving)

  • Um site foi movido (WebMoved)

    Para corrigir o problema, altere o escopo do recurso do receptor de eventos, da seguinte maneira.

Para alterar o escopo do recurso do receptor de eventos

  1. No Gerenciador de Soluções, abra o arquivo .feature do receptor de eventos no Designer de Recursos clicando duas vezes no arquivo ou abrindo o menu de atalho e escolhendo Abrir.

  2. Escolha a seta ao lado de Escopo e, em seguida, escolha Site na lista exibida.

Um erro de implantação aparece depois que o nome de um identificador em um projeto de modelo de conectividade de dados corporativos é alterado

Esse problema ocorrerá se você alterar o nome do identificador de uma entidade em um modelo BDC (Conectividade de Dados Corporativos) e tentar implantar a solução.

Mensagens de erro

  • O <nome do modelo> tem os seguintes erros de ativação de Tipo de Conteúdo Externo...

  • O IMetadataObject com o Nome "<nome do modelo>" tem um valor no Campo "name" duplicado...

Resolução

Para resolver esse problema, exclua o modelo manualmente e implante a solução novamente. Você pode excluir o modelo usando uma das seguintes ferramentas:

  • Administração Central do SharePoint 2010. Para obter mais informações, confira Gerenciamento do Modelo BDC no site do Microsoft TechNet.

  • Windows PowerShell. Você pode excluir o modelo digitando este comando no prompt de comando: Remove-SPBusinessDataCatalogModel. Para obter mais informações, consulte Cmdlets gerais (SharePoint Server 2010) no site Microsoft TechNet.

Erro de implantação ao tentar reciclar o Pool de Aplicativos do IIS no SharePoint Server

Esse problema ocorrerá se o Recurso de compatibilidade do WMI do IIS 6 e o .NET Framework 3.5 não estiverem instalados no computador do SharePoint Server.

Mensagens de erro

  • Erro na etapa de implantação "Reciclar pool de aplicativos do IIS": namespace inválido
  • Erro na etapa de implantação "Reciclar pool de aplicativos do IIS": uma tarefa foi cancelada.

Resolução

Para resolver esse problema, no computador do SharePoint Server, verifique se recurso do Windows de Compatibilidade do WMI do IIS 6 está instalada,

  • Windows PowerShell. Você pode verificar se o recurso está instalado executando este comando do PowerShell: get-windowsfeature -name Web-WMI. Se ele não aparecer como Instalado, você poderá instalá-lo executando o seguinte comando do PowerShell: install-windowsfeature -name Web-WMI. Se você ainda vir erros ao tentar reciclar o Pool de Aplicativos, verifique se o .NET Framework 3.5 também está instalado no computador executando get-windowsfeature -name NET-Framework-Core e execute install-windowsfeature -name NET-Framework-Core se não estiver.

Um erro aparece quando você tenta exibir uma Web Part visual no SharePoint

Esse problema ocorre quando a propriedade Path do controle de usuário não começa com a cadeia de caracteres "CONTROLTEMPLATES\".

Mensagens de erro

  • O arquivo "/_CONTROLTEMPLATES/<nome do projeto>/<nome da Web Part>/<nome do controle do usuário>.ascx" não existe.

  • Erro de servidor no aplicativo '/'.

Resolução

Para resolver esse problema

  1. No Gerenciador de Soluções, escolha o arquivo de controle de usuário, cuja extensão de nome de arquivo é .ascx.

  2. Na barra de menus, escolha Exibir>Janela Propriedades.

  3. Na janela Propriedades, expanda o nó Local de Implantação.

  4. Verifique se o valor da propriedade Path começa com a cadeia de caracteres "CONTROLTEMPLATES\".

Um erro aparece quando um fluxo de trabalho reutilizável importado que contém um campo de formulário de tarefa é executado

Esse problema ocorrerá se você importar um fluxo de trabalho que contenha um formulário de tarefa que tenha um campo e, em seguida, executar o novo fluxo de trabalho no mesmo sistema do qual você o importou.

Mensagem de erro

Erro na etapa de implantação "Ativar Recursos": o campo com ID [Guid] definido no recurso [Guid] foi encontrado na coleção de sites atual ou em um subsite.

Resolução

Esse erro é o resultado de colisões de ID de campo que ocorrem porque o projeto Importar Fluxo de Trabalho Reutilizável no Visual Studio não altera as IDs de campo de formulário da tarefa. Se você implantar um fluxo de trabalho importado no mesmo servidor que contém o fluxo de trabalho original, ocorrerão colisões de ID de campo.

Para resolver esse problema, use o recurso Localizar e Substituir para alterar o valor do atributo Field ID em todos os arquivos de fluxo de trabalho importados.

Um erro aparece quando uma instância de lista importada renomeada é executada

Esse problema ocorrerá se você renomear uma instância de lista importada e executá-la no Visual Studio.

Mensagem de erro

Erro de build: erro na etapa de implantação "Ativar Recursos": o arquivo Template\Features\[import projectfeaturename]\Files\Lists\[oldlist name]\Schema.xml não existe.

Resolução

Quando você importa uma instância de lista, um atributo chamado CustomSchema é adicionado ao arquivo Elements.xml da instância de lista. O Elements.xml inclui o caminho de um schema.xml personalizado para a instância de lista. Quando você renomeia a instância de lista no Visual Studio, o caminho de implantação do schema.xml personalizado é alterado, mas o valor do caminho do atributo CustomSchema não é atualizado. Como consequência, a instância de lista não consegue localizar o arquivo schema.xml no caminho antigo especificado pelo atributo CustomSchema quando o recurso é ativado.

Para resolver esse problema, atualize o caminho do local de implantação do arquivo schema.xml no atributo CustomSchema.

Sessão de depuração do SharePoint encerrada pelo IIS

Esse problema ocorrerá se você definir um ponto de interrupção em uma solução do SharePoint do Visual Studio, selecionar a tecla F5 para executá-la e permanecer em um ponto de interrupção por mais de 90 segundos.

Mensagem de erro

O processo do servidor Web que estava sendo depurado foi encerrado pelo IIS (Serviços de Informações da Internet). Para evitar esse problema defina as configurações de ping do Pool de Aplicativos no IIS. Veja a ajuda para obter mais detalhes.

Resolução

Por padrão, o pool de aplicativos do IIS aguarda 90 segundos para que um aplicativo responda antes de fechar o aplicativo. Esse processo é conhecido como "executar ping" do aplicativo. Para resolver esse problema, você pode aumentar o tempo de espera ou desabilitar totalmente a execução de ping do aplicativo.

Para acessar as configurações do pool de aplicativos do IIS

  1. Abra o Gerenciador do IIS.

  2. No painel Conexões, expanda o nó de servidor do SharePoint e escolha o nó Pools de Aplicativos.

  3. Na página Pools de Aplicativos, escolha o pool de aplicativos do SharePoint (normalmente "SharePoint – 80") e, em seguida, no painel Ações, escolha o link Configurações Avançadas.

  4. Para aumentar o tempo de espera antes de atingir o tempo limite do IIS, altere o valor do Tempo Máximo de Resposta do Ping (segundos) para um valor maior que 90 segundos.

  5. Para desabilitar o ping do IIS, defina Ping Habilitado como Falso.

A retração automática deixa instância de lista órfã no SharePoint

Esse problema ocorrerá se você executar as etapas a seguir.

  1. Crie uma definição de lista que tenha uma instância de lista no Visual Studio.

  2. Pressione a tecla F5 para executar a solução.

  3. Interrompa a depuração ou feche o site do SharePoint.

  4. Reabra o site do SharePoint e abra a instância de lista.

Mensagem de erro

Erro de servidor no aplicativo '/'.

Resolução

Isso acontece porque depois que você fecha uma sessão de depuração de uma solução do SharePoint, o recurso de retração automática retira a solução. A retração exclui a definição de lista do SharePoint, mas não exclui a instância da lista. A definição de lista subjacente é exigida pela instância de lista.

Para resolver esse problema, implante a solução da seguinte maneira: na barra de menus, escolha Compilar>Implantar. (Não depure a solução selecionando a tecla F5). Em seguida, exclua a instância de lista no SharePoint.

A solução original do SharePoint é substituída por uma versão exportada

Se você exportar uma solução do SharePoint, importar a solução para o Visual Studio e, em seguida, implantar a solução de volta no mesmo site do qual ela foi exportada, a solução original do SharePoint será substituída. Esse problema não ocorrerá se você implantar a solução em um servidor que não tenha a solução original ativada.

Mensagem de erro

Nenhum.

Resolução

Para evitar a substituição de uma solução no site do qual ela foi exportada, altere os GUIDs da SolutionID e as IDs de recurso de todos os recursos importados no projeto do Visual Studio.

Um erro aparece quando a depuração é iniciada

Quando você começa a depurar uma solução do SharePoint no Visual Studio, um erro indica que o Visual Studio não pôde carregar o arquivo Web.config porque a chave fornecida não estava no dicionário.

Mensagem de erro

Não foi possível carregar o arquivo de configuração Web.config. Verifique se há elementos XML malformados no arquivo e tente novamente. Ocorreu o seguinte erro: a chave fornecida não estava presente no dicionário.

Resolução

Para resolver esse problema, verifique se o valor da propriedade URL do Site do projeto do SharePoint no Visual Studio corresponde à URL atribuída à Zona Padrão para os mapeamentos de acesso alternativos do aplicativo Web. Você não pode resolver o erro usando outra zona, como Intranet, no lugar da URL. A URL do site para o projeto e a URL na zona padrão devem corresponder. Para acessar mapeamentos de acesso alternativos, abra o utilitário Administração Central do SharePoint 2010, escolha o link Gerenciamento de Aplicativos e, em Aplicativos Web, escolha o link Configurar mapeamentos de acesso alternativos. Para obter mais informações, confira Criar zonas para aplicativos Web.