Как выполнять отладку пользовательских сборок
Платформа Microsoft.NET Framework предоставляет несколько средств отладки, которые упрощают анализ кода в пользовательской сборке и поиск ошибок в коде. Выбор оптимального средства зависит от поставленной задачи. В этом примере используется Microsoft Visual Studio 2005.
Рекомендуемым способом проектирования, разработки и тестирования пользовательских сборок для служб Reporting Services является создание решения, в котором содержатся и тестовые отчеты, и пользовательская сборка.
Отладка сборок с использованием одного экземпляра Visual Studio
Создайте в Visual Studio новый проект отчета.
Во время создания проекта отчета среда Visual Studio создает решение, в котором будет содержаться проект.
Добавьте в существующее решение новый проект библиотеки классов. Убедитесь, что проект отчета установлен в качестве запускаемого. Дополнительные сведения о том, как это сделать, см. в документации по Visual Studio 2005.
Выберите решение в обозревателе решений.
В меню Вид выберите пункт Страницы свойств.
Откроется диалоговое окно Страницы свойств решения.
В левой части области разверните узел Общие свойства, если необходимо, и нажмите кнопку Зависимости проектов. Выберите проект отчета из раскрывающегося списка Проект. Выберите проект сборки в списке Зависит от.
Нажмите кнопку ОК, чтобы сохранить изменения и закрыть диалоговое окно Страницы свойств.
Выберите проект пользовательской сборки в обозревателе решений.
В меню Вид выберите пункт Страницы свойств.
Откроется диалоговое окно Страницы свойств проекта.
В левой части области раскройте узел Свойства конфигурации и нажмите кнопку Построить для проекта C# или кнопку Компилировать для проекта Visual Basic.
На странице Построение/Компиляция введите путь к папке конструктора отчетов. По умолчанию это путь C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE) в текстовом поле Выходной путь. В результате обновленная версия пользовательской сборки будет построена и развернута непосредственно в конструкторе отчетов перед выполнением отчета.
После создания отчета и разработки пользовательской сборки установите в коде пользовательской сборки точки останова.
Выполните отчет в режиме DebugLocal, нажав клавишу F5. Когда отчет выполняется во всплывающем окне предварительного просмотра, отладчик отмечает точки останова, которые соответствуют исполняемому коду в сборке. Нажимайте клавишу F11 для пошагового перемещения по коду пользовательской сборки.
Отладка сборок с использованием двух экземпляров Visual Studio
Запустите Visual Studio 2005 и откройте проект пользовательской сборки.
Выполните построение проекта и разверните в конструкторе отчетов пользовательскую сборку и сопровождающий ее PDB-файл. Дополнительные сведения о развертывании см. в разделе Развертывание пользовательской сборки.
Откройте проект отчета, в котором используется пользовательская сборка, оставив код пользовательской сборки открытым в отдельном экземпляре Visual Studio.
Перейдите к экземпляру Visual Studio, содержащему проект пользовательской сборки, и установите в коде несколько точек останова.
Пока окно с проектом пользовательской сборки остается активным, выберите в меню Отладка команду Процесс.
Откроется диалоговое окно Процессы.
Выберите из списка процесс devenv.exe, который соответствует проекту отчета, и нажмите кнопку Присоединить. В открывшемся диалоговом окне Присоединение к процессу необходимо выбрать тип программы Среда CLR и нажать кнопку ОК.
Определите выражения, которые будут использоваться в отчете из пользовательской сборки, и создайте отчет.
После завершения создания отчета перейдите на вкладку Просмотр.
Начнется выполнение отчета, а код пользовательской сборки должен остановиться в стандартных точках останова.
ПримечаниеПри использовании вкладки Просмотр не применяются разрешения кода для сборки. Чтобы провести полный тест, который проверит ошибки управления доступом к коду, запустите проект отчета с параметром конфигурации DebugLocal.
Нажимайте клавишу F11 для пошагового перемещения по коду. Дополнительные сведения об отладке в Visual Studio см. в документации по Visual Studio.