Поделиться через


Отладка решений SharePoint

Отладка решений SharePoint выполняется с помощью отладчика Visual Studio.При запуске отладки Visual Studio развертывает файлы проекта на сервере SharePoint, затем открывает экземпляр сайта SharePoint в веб-браузере.В следующих разделах рассматриваются принципы отладки приложений SharePoint в Visual Studio.

  • Включение отладки

  • Отладка с помощью клавиши F5 и процесс развертывания

  • Компоненты проектов SharePoint

  • Отладка рабочих процессов

  • Отладка приемников событий компонентов

  • Включение вывода подробных сведений об отладке

Включение отладки

Когда отладка решения SharePoint в Visual Studio выполняется впервые, выводится диалоговое окно с уведомлением о том, что в файле web.config не задан параметр, разрешающий отладку.(Файл web.config создается при установке сервера SharePoint.Дополнительные сведения см. в разделе Работа с файлами Web.config.) В диалоговом окне предлагается либо запустить проект без отладки, либо изменить файл web.config, разрешив отладку.Если выбран первый вариант, проект выполняется нормально.При выборе второй параметр, то настройке файла web.config.

  • включается стек вызова (CallStack="true");

  • отключаются настраиваемые ошибки в Visual Studio (<customErrors mode="Off" />);

  • включается отладка компиляции (<compilation debug="true">).

Ниже приведен результирующий файл web.config.

<?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>

Чтобы отменить изменения и отключить отладку, измените XML-код в файле web.config следующим образом:

  • отключите стек вызова (CallStack="false");

  • включите настраиваемые ошибки в Visual Studio (<customErrors mode="On" />);

  • отключите отладку компиляции (<compilation debug="false">).

Отладка с помощью клавиши F5 и процесс развертывания

Если проект SharePoint выполняется в режиме отладки, в процессе развертывания SharePoint выполняются следующие задачи.

  1. Выполняются пользовательские команды, выполняемые перед развертыванием.

  2. Создается веб-пакет решения (WSP-файл) с помощью команд MSBuild.WSP-файл включает в себя все необходимые файлы и компоненты.Дополнительные сведения см. в разделе Обзор решений.

  3. Если решение SharePoint представляет собой решение фермы, пул приложений IIS повторно используется для указанного URL-адреса сайта.На этом этапе высвобождаются файлы, заблокированные рабочим процессом IIS.

  4. Если существует предыдущая версия пакета, в WSP-файл извлекаются предыдущие версии компонентов и файлов.На этом этапе компоненты отключаются, пакет решения удаляется, затем он удаляется с сервера SharePoint.

  5. Устанавливается текущая версия компонентов и файлов из WSP-файла.На этом этапе решение добавляется и устанавливается на сервер SharePoint.

  6. Устанавливаются сборки рабочих процессов.Расположение сборки можно изменить с помощью свойства Assembly Location.

  7. Активируются компоненты проекта в SharePoint, для которых задана область Site или Web.Компоненты с областями Farm и WebApplication не активируются.

  8. Рабочие процессы связываются с библиотекой списка SharePoint, со списком или сайтом, указанным в Мастере настройки SharePoint.

    ПримечаниеПримечание

    Это связывание происходит, только если в мастере выбран параметр Автоматически связывать рабочий процесс.

  9. Выполняются пользовательские команды, выполняемые после развертывания.

  10. Вложение отладчика Visual Studio к процессу Windows SharePoint Services (w3wp.exe). Если тип проекта позволяет изменить свойство Sandboxed Solution и его значение установлено в true, то вложение отладчика к другому процессу (SPUCWorkerProcess.exe).Дополнительные сведения см. в разделе Замечания об обезвреженных решениях.

  11. Запускается отладчик JavaScript, если решение SharePoint является решением фермы.

  12. В веб-браузере отображается соответствующая библиотека, список или страница сайта.

После каждого выполненного задания в окне "Вывод" Visual Studio выводится сообщение о состоянии.Если выполнить задачу не удается, в окне "Список ошибок" Visual Studio выводится сообщение об ошибке.

Компоненты проектов SharePoint

Компонент представляет собой переносимый модульный функциональный элемент, упрощающий изменение сайтов за счет использования определений сайтов.Он также является пакетом для элементов служб Windows SharePoint Services (WSS), которые можно активировать для определенной области, и которые помогают пользователю в выполнении определенных задач.Шаблоны развертываются в качестве компонентов.

При запуске проекта в режиме отладки процесс развертывания создает новую папку в каталоге компонентов %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES.Имена компонентов имеют формат имя_проекта_компонентx, например TestProject_Feature1.

Папка решения в каталоге функций содержит файл определения функций и файл определения рабочих процессов.Файл определения функции (Feature.xml) описывает файлы определения проекта Feature.The в файле проекта (Elements.xml) описывает шаблон проекта.Файл Elements.xml можно открыть через Обозреватель решений, тогда как файл Feature.xml создается при создании пакета решения.Дополнительные сведения об этих файлах см. в разделе Шаблоны проектов и элементов проектов SharePoint.

Отладка рабочих процессов

При отладке проекта рабочего процесса Visual Studio добавляет шаблон этого рабочего процесса в библиотеку или список (в зависимости от его типа).После этого можно запустить шаблон рабочего процесса (вручную или путем добавления или обновления элемента).Затем можно выполнить отладку рабочего процесса в Visual Studio.

ПримечаниеПримечание

При добавлении ссылок на другие сборки удостоверьтесь, что данные сборки установлены в глобальном кэше сборок (GAC).В противном случае решение рабочего процесса запустить не удастся.Дополнительные сведения об установке сборок см. в разделе Manually start a workflow on a document or item.

Впрочем, развертывание не запускает рабочий процесс.Следует запустить его из узла SharePoint.Рабочий процесс также можно запустить с помощью клиентского приложения — например, Microsoft Office Word 2010, или же с помощью отдельного кода на стороне сервера.Используйте один из подходов, указанных в Мастере настройки SharePoint.

Например, если в мастере было указано, что рабочий процесс можно запустить вручную, следует запустить рабочий процесс непосредственно из элемента в библиотеке или списке.Дополнительные сведения о запуске рабочего процесса вручную см. в разделе Запуск рабочего процесса в элементе документа вручную.

Отладка приемников событий компонентов

По умолчанию при запуске приложения Visual Studio SharePoint его компоненты автоматически активируются на сервере SharePoint.Впрочем, это вызывает проблемы при отладке приемников событий этого компонента, поскольку когда он активируется системой Visual Studio, он выполняется не в том же процессе, что отладчик.Поэтому функции отладки, такие как точка останова, не действуют надлежащим образом.

Чтобы отключить автоматическую активацию компонента в SharePoint, прежде чем выполнять отладку содержащихся в нем приемников событий задайте свойству проекта Активная конфигурация развертывания значение Без активации.Затем, после запуска для отладки приложения SharePoint в Visual Studio, вручную активировать функцию в SharePoint.Чтобы активировать функцию, откройте меню Поместите действия в SharePoint выберите Параметры сайта выберите ссылку Управление функциями сайта, а затем нажмите кнопку Активировать рядом с функцией, чтобы продолжить отладку как обычный.

Включение вывода подробных сведений об отладке

В связи с тем, что взаимодействие между процессом Visual Studio (devenv.exe), ведущим процессом SharePoint Visual Studio (vssphost4.exe), SharePoint и уровнем WCF бывает крайне сложным, иногда очень непросто диагностировать ошибки, возникающие при построении, развертывании и выполнении других операций.Чтобы упростить эту задачу, можно включить подробную информацию отладки.Для этого откройте следующий раздел реестра Windows:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools]

Если значение EnableDiagnostics" REG_DWORD еще не существует, создайте его вручную.Задайте значение "EnableDiagnostics" до "1".

Если задать это значение ключа равным 1, при каждой ошибке, возникающей во время работы в Visual Studio, сведения трассировки стека отображаются в окне Вывод.Чтобы отключить данных отладки, задайте EnableDiagnostics обратно до 0 или удалите значение.

Дополнительные сведения о других разделах реестра SharePoint см. в разделе Отладка расширений для средств SharePoint в Visual Studio.

См. также

Основные понятия

Устранение неполадок решений SharePoint