Отладка расширений для средств SharePoint в Visual Studio
Отладить расширения средств SharePoint можно в экспериментальном или обычном экземпляре Visual Studio.При необходимости устранения неполадок поведения расширения, также можно изменить значения реестра для отображения дополнительной информации об ошибках, чтобы настроить выполнение команд SharePoint в Visual Studio.
Отладка расширений в экспериментальном экземпляре Visual Studio
Для защиты среды разработки Visual Studio от случайного повреждения недоверенными расширениями, пакет Visual Studio SDK предоставляет альтернативный экземпляр Visual Studio, называемый экспериментальным экземпляром, который можно использовать для установки и тестирования расширений.Новые расширения разрабатываются с помощью обычного экземпляра Visual Studio, но их отладка и выполнение осуществляются в экспериментальном экземпляре.Дополнительные сведения см. в разделе экспериментальный экземпляр Visual Studio.
При использовании проекта VSIX для развертывания расширения, и проект VSIX в решении является автозагружаемым, при отладке решения Visual Studio автоматически установит и выполнит расширение в экспериментальном экземпляре.Автозагружаемый проект является проектом, запуск которого происходит при отладке решения, содержащего несколько проектов.Дополнительные сведения об использовании проекта VSIX для развертывания расширения см. в разделе Разработка расширений для средств SharePoint в Visual Studio.Дополнительные сведения об автозагружаемых проектах см. в разделе [NIB] 12/13 Практическое руководство. Выбор запускаемого проекта.
Примеры отладки различных типов расширений в экспериментальном экземпляре Visual Studio см. в следующих пошаговых руководствах:
Пошаговое руководство. Расширение типа проектного элемента SharePoint
Пошаговое руководство. Создание пользовательского шага развертывания для проектов SharePoint
Пошаговое руководство. Расширение обозревателя сервера, чтобы в нем отображались веб-части
Отладка расширений в обычном экземпляре Visual Studio
При необходимости отладки проекта расширения в обычном экземпляре Visual Studio, его сначала следует установить в обычном экземпляре.Затем присоедините отладчик ко второму процессу Visual Studio.По окончании, расширение можно удалить, чтобы оно больше не занимало место на компьютере разработчика.
Установка расширения
Закройте все экземпляры Visual Studio.
В выходную папку построения для проекта расширения, откройте файл vsix или дважды щелкнув его или открыв его контекстное меню, а затем выбрать Открыть:
В диалоговом окне Установщик расширений Visual Studio выберите выпуск Visual Studio, к которому необходимо установить расширение, а затем нажмите кнопку Установить.
Visual Studio установит файлы расширения в папку %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\имя автора\имя расширения\версия.Три последние папки в этом пути создаются для расширения из элементов Author, Name и Version файла extension.vsixmanifest.
После расширения Visual Studio устанавливает, нажмите кнопку Закрыть.
Отладка расширения
Запустите Visual Studio с правами администратора и откройте проект расширения.Следующие действия ссылаются на этот экземпляр Visual Studio как на первый экземпляр.
Запустите другой экземпляр Visual Studio с правами администратора.Следующие действия ссылаются на этот экземпляр Visual Studio как на второй экземпляр.
Переключитесь на первый экземпляр Visual Studio.
В строке меню выберите Отладка, Присоединение к процессу.
В списке Доступные процессы выберите файл devenv.exe.Этот процесс соответствует второму экземпляру Visual Studio, т. е. экземпляру, в котором будет отлаживаться расширение проекта.
Нажмите кнопку Присоединиться.
Visual Studio запустит проект расширения в режиме отладки.
Переключитесь на второй экземпляр Visual Studio.
Создайте новый проект SharePoint, который загружает расширение.Например, при отладке расширения для элементов проекта определения списка, создайте проект Определение списка.
Выполните действия, необходимые для проверки кода расширения.
После окончания отладки расширения закройте второй экземпляр Visual Studio.
Удаление расширения
В Visual Studio в строке меню выберите Сервис, Расширения и обновления.
Будет открыто диалоговое окно Расширения и обновления.
В списке расширений выберите имя модуля, а затем нажмите кнопку Удалить.
В появившемся диалоговом окне нажмите кнопку Да, чтобы подтвердить удаление расширения.
Нажмите кнопку Перезагрузить сейчас для завершения удаления.
Отладка команд SharePoint
Если необходимо выполнить отладку команды SharePoint, входящей в расширение средств SharePoint, следует присоединить отладчик к процессу vssphost4.exe.Это 64-разрядный процесс, выполняющий команды SharePoint.Дополнительные сведения о командах SharePoint и процессе vssphost4.exe см. в разделе Вызов объектных моделей SharePoint.
Присоединение отладчика к процессу vssphost4.exe
Начните отладку расширения в экспериментальном или обычном экземпляре Visual Studio, следуя инструкциям, приведенным ниже.
В экземпляре Visual Studio, в котором запуске отладчика в строке меню выберите Отладка, Присоединение к процессу.
В списке выберите Доступные процессы vssphost.exe.
Примечание
Если процесс vssphost.exe не отображается в списке, необходимо запустить vssphost4.exe в том экземпляре Visual Studio, в котором выполняется расширение.Как правило, это происходит во время выполнения действий по подключению Visual Studio к сайту SharePoint на компьютере разработчика.Например, Visual Studio запускает vssphost4.exe при развертывании узла подключения к сайту (узла, отображающего URL-адрес сайта) в узле Подключения SharePoint в окне Обозреватель серверов или при добавлении определенных элементов проекта SharePoint, например элементов Экземпляр списка или Приемник событий, в проект SharePoint.
Нажмите кнопку Присоединиться.
В отлаживаемом экземпляре Visual Studio выполните следующие необходимые для выполнения команды шаги.
Изменение значений реестра для облегчения отладки расширений средств SharePoint
При отладке расширения средств SharePoint в Visual Studio можно изменять значения реестра для облегчения устранения неполадок в расширении.Эти значения находятся в ключе HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools.По умолчанию они не существуют.
Для облегчения устранения неполадок любого расширения средств SharePoint можно создать и задать значение EnableDiagnostics.Это значение описывается в следующей таблице.
Значение |
Описание |
---|---|
EnableDiagnostics |
REG_DWORD указывает отображаются ли диагностические сообщения в окне Выходные данные. Чтобы отображать диагностические сообщения, присвойте значение 1.Чтобы не отображать сообщения, присвойте значение 0 или удалите значение. Чтобы записать сообщения в окно Выходные данные из расширения средств SharePoint, воспользуйтесь службой проекта SharePoint.Дополнительные сведения см. в разделе Использование службы проектов SharePoint. |
Если расширение содержит команду SharePoint, то можно создать и значения дополнительных набора, который необходимо помочь устранить команду.В следующей таблице приведено описание этих значений.
Значение |
Описание |
---|---|
AttachDebuggerToHostProcess |
Значение REG_DWORD определяет, отображать ли диалоговое окно, которое позволяет присоединить отладчик к процессу vssphost4.exe прямо при его запуске.Это полезно, если отлаживаемая команда выполняется процессом vssphost.exe сразу после его запуска, и вручную присоединить отладчик невозможно из-за недостатка времени.Для отображения диалогового окна процесс vssphost4.exe вызывает метод Debugger.Break при запуске. Чтобы включить такой режим, задайте значение 1.Чтобы отключить этот режим, нужно задайте значение равным 0 или удалите его. Если вы установили значение равным 1, может также быть полезно увеличить значение HostProcessStartupTimeout, что позволит успеть присоединить отладчик до того момента, когда Visual Studio ожидает от процесса vssphost4.exe сигнала об успешном запуске. |
ChannelOperationTimeout |
REG_DWORD указывает время в секундах, в течение которого Visual Studio ожидает выполнения команды SharePoint.Если команда не выполнена вовремя, выдается исключение SharePointConnectionException. По умолчанию используется значение 120 секунд. |
HostProcessStartupTimeout |
REG_DWORD указывает время в секундах, в течение которого Visual Studio ожидает сигнала от vssphost4.exe о его успешном запуске.Если сигнал об успешном запуске не поступил от vssphost4.exe вовремя, выдается исключение SharePointConnectionException. По умолчанию используется значение 60 секунд. |
MaxReceivedMessageSize |
REG_DWORD указывает максимально допустимый размер в байтах для сообщений WCF, которыми обмениваются Visual Studio и vssphost4.exe. Значение по умолчанию — 1 048 576 байтов (1 МБ). |
MaxStringContentLength |
REG_DWORD указывает максимально допустимый размер в байтах для строк, которыми обмениваются Visual Studio и vssphost4.exe. Значение по умолчанию — 1 048 576 байтов (1 МБ). |
См. также
Основные понятия
Разработка расширений для средств SharePoint в Visual Studio