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


Microsoft.SqlServer.Dac.CodeAnalysis Пространство имен

Классы

CodeAnalysisResult

Результаты анализа кода для конкретной модели. Будет включать все SqlRuleProblemобнаруженные объекты, а также ошибки, возникшие во время анализа

CodeAnalysisRuleSettings

Параметры, используемые для настройки правил, используемых во время анализа.

Перед началом анализа этот объект параметров будут применяться к правилам, обнаруженным службой анализа. Если параметр DisableRulesNotInSettings имеет значение true, все правила, не включенные в эти параметры, будут отключены и не будут выполняться во время анализа.

Эти параметры применяются путем вызова метода ApplySettingsToRules(IEnumerable<RuleConfiguration>) в правилах, возвращенных подсистемой.

CodeAnalysisService

Служба, которая запускает анализ кода для модели и предоставляет вызывающему объекту результаты.

Обратите внимание, что этот класс не является потокобезопасным, поскольку несколько одновременных вызовов метода Analyze(TSqlModel) не поддерживается. Однако можно вызвать метод Cancel() из потока, в то время как отдельный поток ожидает завершения метода Analyze(TSqlModel).

CodeAnalysisServiceFactory

Класс Factory, поддерживающий создание CodeAnalysisService объектов .

CodeAnalysisServiceSettings

Задает дополнительные параметры конфигурации для CodeAnalysisService. Они могут определять, какие правила выполняются, как подавлять определенные проблемы и где сохранять результаты.

Эти параметры также можно настроить в CodeAnalysisService после ее создания, но они включены здесь для удобства конструирования.

ExportCodeAnalysisRuleAttribute

Атрибут, определяющий экспорт правила, и метаданные об этом правиле. Реализует ISqlAnalysisRuleMetadata, который должен использоваться на стороне средства импорта для обеспечения согласованности типов.

ProblemSuppressionException

Представляет исключение, возникшее при выполнении теста подавления проблем правил.

ProjectProblemSuppressor

Представляет средство подавления проблемы, используемое в проектах SSDT. Метод ShouldSuppressProblem может быть передан в ShouldSuppressProblem для использования этого класса.

Эта функция считывает сведения о подавлении из файла с именем, соответствующим SuppressionFilename («StaticCodeAnalysis.SuppressMessages.xml») в корневом каталоге.

Все относительные пути будут разрешены относительно папки проекта, определенной в конструкторе.

RuleConfiguration

Указывает, как правило должно быть настроено — оно должно быть включено или отключено? Какой уровень серьезности должен применяться для правила?

RuleDescriptor

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

Этот класс не предназначен для разбиения на подклассы внешними пользователями — экземпляры RuleDescriptor создаются службой анализа.

RuleException

Представление исключения, которое может возникнуть во время выполнения анализа кода

SqlAnalysisRule

Базовый класс для всех типов правил анализа. Правило анализа анализирует модель или элемент модели и возвращает список проблем, обнаруженных во время анализа.

SqlCodeAnalysisRule

Базовый класс для правил анализа статического кода SQL. Правило анализа анализирует модель или элемент модели и возвращает список проблем, обнаруженных во время анализа.

Чтобы реализованные классы могли быть обнаружены и использованы во время анализа кода, они должны иметь атрибут ExportCodeAnalysisRuleAttribute, заданный в определении класса.

SqlRuleExecutionContext

Определяет поля, необходимые для анализа, включая модель схемы и элемент модели для анализа.

SqlRuleProblem

Описывает проблему, обнаруженную правилом во время анализа. Содержит важные сведения, такие как правило, обнаружившее проблему, SqlObject, который вызвал проблему, серьезность и отображаемое сообщение об ошибке.

Сведения об исходной позиции (имя источника, начальная строка и столбца) изначально выводятся на основе параметров ModelElement и Fragment, переданных в конструктор. Обратите внимание, что если Fragment передается , то будет использоваться начальная строка или столбец для этого TSqlFragment параметра (при наличии), в противном случае TSqlObjectбудут использоваться значения (если они присутствуют). Обратите внимание, что некоторые модели, например созданные из DACPAC, могут не иметь сведений об исходной позиции.

SqlRuleProblemSuppressionContext

Сведения о контексте для подавления проблемы SCA

SuppressedProblemInfo

Сведения о проблеме, подавляемой для определенного источника. Эти сведения включают имя источника и правило, чьи проблемы должны подавляться.

Интерфейсы

ISqlAnalysisRuleMetadata

Метаданные, описывающие правило — его пространство имен, идентификатор, область и т. д.

Перечисления

CodeAnalysisModelValidationMode

Определяет проверку, выполненную в модели перед анализом кода.

SqlRuleProblemSeverity

Тип сообщения для отправки сообщений о проблемах

SqlRuleScope

Область проверяется с помощью правила анализа статического кода.