Partilhar 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, em seguida, 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.

Ativar 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")

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

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

    Segue-se o ficheiro web.config resultante:

<?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 desativar a depuração, altere o seguinte XML no arquivo web.config:

  • Desligue 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 implementação 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 personalizáveis de pré-implantação.

  2. Cria um arquivo de pacote de solução da Web (.wsp) usando comandos 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 farm, recicla 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, retrai 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 do fluxo de trabalho. Você pode alterar seu local usando a propriedade Assembly Location .

  7. Ativa a funcionalidade do projeto no SharePoint se o âmbito for Site ou Web. As funcionalidades nos escopos Farm e WebApplication não estão ativadas.

  8. Para fluxos de trabalho, associa o fluxo de trabalho à biblioteca, lista ou site do SharePoint selecionado no Assistente para Personalização do SharePoint.

    Observação

    Essa associação ocorre somente se você selecionou Associar fluxo de trabalho automaticamente 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 a alteração da propriedade Sandboxed Solution e o seu valor estiver definido como true, o depurador será ligado a um processo diferente (SPUCWorkerProcess.exe). Para obter mais informações, consulte Considerações sobre soluções isoladas.

  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 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 do Windows SharePoint Services (WSS) que podem ser ativados para um escopo específico e que ajudam os usuários a atingir uma meta ou tarefa específica. 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 de recursos em%COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES. Os nomes das funcionalidades 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 de 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 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, certifique-se de que esses assemblies estejam instalados no cache global de assemblies (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 a partir 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 para Personalização do SharePoint.

Por exemplo, se você especificou que o fluxo de trabalho pode ser iniciado manualmente, inicie-o diretamente do item na biblioteca ou 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.

Recetores de eventos de funcionalidades de depuração

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ê depurar recetores de eventos de recurso, porque quando um recurso é ativado pelo Visual Studio, ele é executado em um processo diferente do depurador. Isso significa que algumas funções 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 Recurso, defina o valor da propriedade Configuração de Implantação Ativa do projeto como Sem 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 de depuração aprimoradas

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 de depuração aprimoradas. 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 enquanto você estiver executando no Visual Studio. Para desativar as informações de depuração avançadas, defina EnableDiagnostics de volta para 0 ou exclua o valor.

Para obter mais informações sobre outras chaves de registo do SharePoint, consulte Debug extensions for the SharePoint tools in Visual Studio.