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


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

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

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

При первой отладке решения 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. Для рабочих процессов устанавливается сборка рабочего процесса. Его расположение можно изменить с помощью свойства "Расположение сборки".

  7. Активирует функцию проекта в SharePoint, если область является сайтом или веб-сайтом. Функции в область фермы и webApplication не активируются.

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

    Примечание.

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

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

  10. Присоединяет отладчик Visual Studio к процессу Windows SharePoint Services (w3wp.exe). Если тип проекта позволяет изменить свойство изолированного решения и его значение имеет значение true, отладчик подключается к другому процессу (SPUCWorkerProcess.exe). Дополнительные сведения см. в разделе "Изолированные решения".

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

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

    Visual Studio отображает сообщение о состоянии в окне вывода после завершения каждой задачи. Если задача не может быть завершена, Visual Studio отображает сообщение об ошибке в окне списка ошибок.

Функции проекта SharePoint

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

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

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

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

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

Примечание.

При добавлении ссылок на другие сборки убедитесь, что эти сборки установлены в глобальном кэше сборок (GAC). В противном случае решение рабочего процесса завершится ошибкой. Сведения об установке сборок см. в разделе "Запуск рабочего процесса вручную" в документе или элементе.

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

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

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

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

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

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

Из-за иногда сложного взаимодействия между процессом Visual Studio (devenv.exe), процессом узла Visual Studio SharePoint (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.