Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Visual Studio предоставляет точки расширяемости, с помощью которых можно изменять поведение действий сборки и развертывания для проектов базы данных.
Доступные точки расширения
Можно создать расширение для точек расширяемости, как показано в следующей таблице.
Действие |
Тип участника |
Примечания |
|---|---|---|
Сборка |
BuildContributor |
Данный тип расширения выполняется при сборке проекта SQL после полной проверки модели проекта.Участник сборки может обращаться к завершенной модели, а также ко всем свойствам задачи сборки и пользовательским аргументам. |
Развертывание |
DeploymentPlanModifier |
Данный тип расширения выполняется при развертывании проекта SQL как часть процесса развертывания после формирования плана развертывания, но до его выполнения.С помощью DeploymentPlanModifier можно изменять план развертывания, добавляя в него шаги или удаляя их из него.Участники развертывания могут обращаться к плану развертывания, результатам сравнения, исходной и целевой модели. |
Развертывание |
DeploymentPlanExecutor |
Данный тип расширения запускается во время выполнения плана развертывания и предоставляет доступ только для чтения к плану развертывания.DeploymentPlanExectutor выполняет действия на основе плана развертывания. |
Поддерживаемые сценарии расширяемости
Можно реализовать участников сборки или развертывания, чтобы включить следующие сценарии:
Формирование документации по схеме во время сборки проекта — реализуется BuildContributor и переопределяется метод OnExecute для формирования документации по схеме.Можно создать файл targets, определяющий стандартные аргументы, которые управляют запуском расширений и определяют имя выходного файла.
Формирование отчета об отличиях при развертывании проекта SQL — реализуется DeploymentPlanExecutor, который формирует XML-файл при развертывании проекта SQL.
Изменение плана развертывания при перемещении данных — реализуется DeploymentPlanModifier, который осуществляет проход по плану развертывания.Для каждого действия SqlTableMigrationStep в данном плане изучается результат сравнения для определения того, должно ли выполняться данное действие, или его следует пропустить.
Копирование файлов в сформированный DACPAC при развертывании проекта SQL — реализуется участник развертывания и переопределяется метод OnEstablishDeploymentConfiguration для указания файлов, помеченных в проекте как DeploymentExtensionConfiguration.Эти файлы должны быть скопированы в выходную папку и добавлены в сформированный DACPAC.Также можно изменить участника, чтобы выполнялось слияние нескольких файлов в один новый файл, который будет скопирован в выходную папку и добавлен в манифест развертывания.Во время развертывания можно реализовать метод OnApplyDeploymentConfiguration для извлечения этих файлов из DACPAC и подготовки их к использованию в методе onExecute.
Также можно предоставить доступ к пользовательским аргументам участника в виде «имя-значение», которые записываются в файл проекта базы данных.Эти аргументы могут позволить участнику извлекать данные из MSBuild, а конечным пользователям участника изменять его поведение.Например, можно разрешить пользователям указывать имя входного или выходного файла.
Общие задачи
Общие задачи |
Вспомогательное содержимое |
|---|---|
Узнайте больше о точках расширяемости: вы можете изучить документацию к базовым классам, на основе которых реализуются участники сборки и развертывания. |
|
Создание базовых участников: здесь описаны действия, необходимые для создания участника сборки или развертывания.Если вы воспользуетесь данными пошаговыми руководствами, то сможете:
Участники могут быть размещены в одной или в нескольких сборках с учетом того, как должны быть распределены эти модули среди разработчиков. |
Пошаговое руководство. Расширение сборки проекта базы данных для формирования статистики модели |