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 Como trabalhar com arquivos de 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")

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

  • Habilitar 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" />)

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

Processo de depuração e implantação do 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 de 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 obter mais informações, consulte Visão geral de soluções.

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

  4. Se uma versão anterior do pacote já existir, retrairá 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 conjunto de fluxo de trabalho. Você pode alterar sua localização usando a propriedade Localização do Assembly.

  7. Ativa o recurso do projeto no SharePoint se o escopo for Site ou Web. As funcionalidades nos âmbitos Farm e WebApplication não são ativadas.

  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 personalizáveis pós-implantação.

  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 Isolada e seu valor estiver definido como true, o depurador se anexará a um processo diferente (SPUCWorkerProcess.exe). Para obter mais informações, consulte as considerações sobre a solução em sandbox.

  11. Inicia 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 do 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 do WSS (Windows SharePoint Services) que podem ser ativados para um escopo específico e que ajuda os usuários a atingir uma determinada meta ou tarefa. Os modelos são implantados como funcionalidades.

Quando você executa um projeto no modo de depuração, o processo de implantação cria uma pasta no diretório FEATURE 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 no Feature.O arquivo de definição do projeto (Elements.xml) descreve o modelo de projeto. Elements.xml podem ser encontrados 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

Caso você adicione 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ê deve 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 funcionalidade

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 Recetores de Eventos de Funcionalidade, altere o valor da propriedade Configuração de Implantação Ativa do projeto para Nenhuma Ativação antes da depuração. Em seguida, depois de começar a depurar seu 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 avançadas de depuração

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 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, vá para a seguinte chave do Registro no Registro do Windows:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools

Se o valor REG_DWORD "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 durante a execução no Visual Studio. Para desabilitar informações avançadas de depuração, defina EnableDiagnostics de volta como 0 ou exclua o valor.

Para obter mais informações sobre outras chaves de registro do SharePoint, consulte Extensões de depuração para as ferramentas do SharePoint no Visual Studio.