Compartilhar via


Depurar soluções do SharePoint

Você pode depurar soluções do SharePoint usando o depurador do Visual Studio. Quando você inicia a depuração, o Visual Studio implanta os arquivos de projeto no servidor do SharePoint e abre uma instância do site do SharePoint no navegador da Web. As seções a seguir explicam como depurar aplicativos do SharePoint no Visual Studio.

Habilitar depuração

Quando você depura pela primeira vez uma solução do SharePoint no Visual Studio, uma caixa de diálogo alerta que o arquivo web.config não está configurado para habilitar a depuração. (O arquivo web.config é criado quando você instala o servidor do SharePoint. Para obter mais informações, consulte Trabalhando com arquivos Web.config.) A caixa de diálogo oferece a opção de executar o projeto sem depurar ou modificar o arquivo web.config para habilitar a depuração. Se você escolher a primeira opção, o projeto será executado normalmente. Se você escolher a segunda opção, o arquivo web.config será configurado para:

  • Ativar a pilha de chamadas (CallStack="true")

  • Desabilitar erros personalizados no Visual Studio (<customErrors mode="Off" />)

  • Habilitar a depuração de compilação (<compilation debug="true">)

    O arquivo de web.config resultante segue:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <configuration>
        ...
        <SharePoint>
            <SafeMode MaxControls="200"
                CallStack="true"
                DirectFileDependencies="10"
                TotalFileDependencies="50"
                AllowPageLevelTrace="false">
                ...
            </SafeMode>
        ...
        </SharePoint>
        <system.web>
            ...
            <customErrors mode="Off" />
            ...
            <compilation debug="true">
            ...
            </compilation>
            ...
        </system.web>
        ...
    </configuration>

Para reverter as alterações e desabilitar a depuração, altere o seguinte XML no arquivo web.config:

  • Desativar a pilha de chamadas (CallStack="false")

  • Habilitar erros personalizados no Visual Studio (<customErrors mode="On" />)

  • Desabilitar a depuração de compilação (<compilation debug="false">)

Processo de depuração e implantação com F5

Quando você executa seu projeto do SharePoint no modo de depuração, o processo de implantação do SharePoint executa as seguintes tarefas:

  1. Executa os comandos pré-implantação personalizáveis.

  2. Cria um arquivo de pacote de solução Web (.wsp) usando comandos do MSBuild. O arquivo .wsp inclui todos os arquivos e recursos necessários. Para saber mais, confira Visão geral das soluções.

  3. Se a solução do SharePoint for uma solução de farm, reciclará o pool de aplicativos do IIS para a URL do site especificada. Esta etapa libera arquivos bloqueados pelo processo de trabalho do IIS.

  4. Se já existir uma versão anterior do pacote, retirará a versão anterior dos recursos e arquivos no arquivo .wsp. Esta etapa desativa os recursos, desinstala o pacote de solução e exclui o pacote de solução no servidor do SharePoint.

  5. Instala a versão atual dos recursos e arquivos no arquivo .wsp. Esta etapa adiciona e instala a solução no servidor do SharePoint.

  6. Para fluxos de trabalho, instala o assembly de fluxo de trabalho. Você pode alterar sua localização usando a propriedade Local do Assembly.

  7. Ativa o recurso do projeto no SharePoint se o escopo for Site ou Web. Os recursos nos escopos Farm e WebApplication não são ativados.

  8. Para fluxos de trabalho, associa o fluxo de trabalho à biblioteca, lista ou site do SharePoint que você selecionou no Assistente de Personalização do SharePoint.

    Observação

    Essa associação ocorre somente se você selecionou Associar automaticamente o fluxo de trabalho no assistente.

  9. Executa os comandos pós-implantação personalizáveis.

  10. Anexa o depurador do Visual Studio ao processo do Windows SharePoint Services (w3wp.exe). Se o tipo de projeto permitir que você altere a propriedade Solução em área restrita e seu valor for definido como true, o depurador será anexado a um processo diferente (SPUCWorkerProcess.exe). Para saber mais, confira Considerações sobre soluções em área restrita.

  11. Iniciará o depurador JavaScript se a solução do SharePoint for uma solução de farm.

  12. Exibe a biblioteca, a lista ou a página do site apropriada no navegador da Web.

    O Visual Studio exibe uma mensagem de status na janela Saída após a conclusão de cada tarefa. Se uma tarefa não puder ser concluída, o Visual Studio exibirá uma mensagem de erro na janela Lista de Erros.

Recursos de projeto do SharePoint

Um recurso é uma unidade portátil e modular de funcionalidade que simplifica a modificação de sites usando definições de site. Também é um pacote de elementos WSS (Windows SharePoint Services) que podem ser ativados para um escopo específico e que ajuda os usuários a atingir uma meta ou tarefa específica. Os modelos são implantados como recursos.

Quando você executa um projeto no modo de depuração, o processo de implantação cria uma pasta no diretório de recursos em %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES. Os nomes de recursos têm o formato nome do projeto_Featurex, como TestProject_Feature1.

A pasta da solução no diretório de recursos contém um arquivo de definição de recurso e um arquivo de definição de fluxo de trabalho. O arquivo de definição de recurso (Feature.xml) descreve os arquivos de recursos do projeto. O arquivo de definição do projeto (Elements.xml) descreve o modelo de projeto. Elements.xml pode ser encontrado no Gerenciador de Soluções, mas Feature.xml é gerado quando o pacote de solução é criado. Para obter mais informações sobre esses arquivos, consulte Modelos de projeto e de item de projeto do SharePoint.

Depurar fluxos de trabalho

Quando você depura projetos de fluxo de trabalho, o Visual Studio adiciona o modelo de fluxo de trabalho (dependendo de seu tipo) a uma biblioteca ou a uma lista. Em seguida, você pode iniciar o modelo de fluxo de trabalho manualmente ou adicionando ou atualizando um item. Em seguida, você pode usar o Visual Studio para depurar o fluxo de trabalho.

Observação

Se você adicionar referências a outros assemblies, verifique se esses assemblies estão instalados no cache de assembly global (GAC). Caso contrário, a solução de fluxo de trabalho falhará. Para obter informações sobre como instalar assemblies, consulte Iniciar manualmente um fluxo de trabalho em um documento ou item.

No entanto, o processo de implantação não inicia o fluxo de trabalho. Você precisa iniciar o fluxo de trabalho do site do SharePoint. Você também pode iniciar o fluxo de trabalho usando um aplicativo cliente, como o Microsoft Office Word 2010, ou usando código separado do lado do servidor. Use uma das abordagens especificadas no Assistente de Personalização do SharePoint.

Por exemplo, se você especificou que o fluxo de trabalho pode ser iniciado manualmente, inicie o fluxo de trabalho diretamente do item na biblioteca ou na lista. Para obter mais informações sobre como iniciar um fluxo de trabalho manualmente, consulte Iniciar manualmente um fluxo de trabalho em um item de documento.

Depurar receptores de eventos de recurso

Por padrão, quando você executa um aplicativo do SharePoint do Visual Studio, seus recursos são ativados automaticamente para você no servidor do SharePoint. No entanto, isso causa problemas quando você depura receptores de eventos de recursos, pois quando um recurso é ativado pelo Visual Studio, ele é executado em um processo diferente do depurador. Isso significa que algumas funcionalidades de depuração, como pontos de interrupção, não funcionarão corretamente.

Para desabilitar a ativação automática do recurso no SharePoint e permitir a depuração adequada de Receptores de Eventos de Recurso, defina o valor da propriedade Configuração de Implantação Ativa do projeto como Nenhuma Ativação antes da depuração. Em seguida, depois de começar a depurar o aplicativo do SharePoint no Visual Studio, ative manualmente o recurso no SharePoint. Para ativar o recurso, abra o menu Ações do Site no SharePoint, escolha Configurações do Site, escolha o link Gerenciar Recursos do Site e escolha o botão Ativar ao lado do recurso para continuar a depuração normalmente.

Habilitar informações de depuração avançadas

Devido às interações às vezes complexas entre o processo do Visual Studio (devenv.exe), o processo de host do SharePoint do Visual Studio (vssphost4.exe), o SharePoint e a camada do WCF, diagnosticar erros que ocorrem durante a criação, implantação e assim por diante pode ser um desafio. Para ajudá-lo a resolver esses erros, você pode habilitar informações avançadas de depuração. Para fazer isso, acesse a seguinte chave do Registro no Registro do Windows:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools

Se o valor REG_DWORD de "EnableDiagnostics" ainda não existir, crie-o manualmente. Defina o valor "EnableDiagnostics" como "1".

Definir esse valor de chave como 1 faz com que as informações de rastreamento de pilha apareçam na janela Saída sempre que ocorrerem erros do sistema de projeto enquanto você estiver em execução no Visual Studio. Para desabilitar informações avançadas de depuração, defina EnableDiagnostics como 0 ou exclua o valor.

Para obter mais informações sobre outras chaves do Registro do SharePoint, consulte Depurar extensões para as ferramentas do SharePoint no Visual Studio.