Microsoft.SqlServer.Dac.CodeAnalysis Espacio de nombres

Clases

Nombre Description
CodeAnalysisResult

Resultados de Code Analysis con un modelo determinado. Incluirá todos los SqlRuleProblemelementos encontrados, además de los errores que se produjeron durante el análisis.

CodeAnalysisRuleSettings

La configuración que se usa para configurar las reglas usadas durante el análisis.

Antes de que comience el análisis, este objeto de configuración se aplicará a las reglas detectadas por el servicio de análisis. Si DisableRulesNotInSettings se establece en true, las reglas no incluidas en esta configuración se deshabilitarán y no se ejecutarán durante el análisis.

Esta configuración se aplica mediante una llamada al ApplySettingsToRules(IEnumerable<RuleConfiguration>) método en las reglas devueltas por el motor.

CodeAnalysisService

Un servicio que ejecuta el análisis de código en un modelo y proporciona resultados al autor de la llamada.

Tenga en cuenta que esta clase no es segura para subprocesos, ya que no se admiten varias llamadas simuladas a Analyze(TSqlModel) . Sin embargo, es posible llamar Cancel() desde un subproceso mientras un subproceso independiente está esperando a que se complete el Analyze(TSqlModel) método.

CodeAnalysisServiceFactory

Clase factory que admite la creación de CodeAnalysisService objetos.

CodeAnalysisServiceSettings

Define los valores de configuración opcionales para .CodeAnalysisService Esto puede determinar en qué reglas se ejecutan, cómo suprimir determinados problemas y dónde guardar los resultados.

Esta configuración también se puede establecer en una CodeAnalysisService vez creada, pero se incluyen aquí para que la construcción sea más cómoda.

ExportCodeAnalysisRuleAttribute

Atributo que define una exportación de reglas y los metadatos sobre esa regla. Implementa ISqlAnalysisRuleMetadata, que se debe usar en el lado importador para garantizar la coherencia de tipos.

ProblemSuppressionException

Representa una excepción que se produjo al ejecutar la prueba de supresión de problemas de regla.

ProjectProblemSuppressor

Representa el supresor de problemas que usan los proyectos de SSDT. El ShouldSuppressProblem método se puede pasar a ShouldSuppressProblem para usar esta clase.

Esto lee la información de supresión de un archivo con un nombre que coincide SuppressionFilename con ("StaticCodeAnalysis.SuppressMessages.xml") en el directorio raíz.

Todas las rutas de acceso relativas se resolverán en relación con la carpeta del proyecto definida en el constructor.

RuleConfiguration

Especifica cómo se debe configurar una regla: ¿debe habilitarse o deshabilitarse? ¿Qué gravedad se debe aplicar para la regla?

RuleDescriptor

Describe una regla detectada por el motor de reglas y admite la configuración de sus propiedades. Los descriptores heredan las propiedades de RuleConfiguration, para admitir la habilitación o deshabilitación de la regla durante el análisis y la especificación de la gravedad de los problemas creados por la regla.

Esta clase no está pensada para ser subclases por parte de usuarios externos: el servicio de análisis crea instancias de RuleDescriptor .

RuleException

Representar una excepción que puede producirse durante una ejecución de análisis de código

SqlAnalysisRule

Clase base para todos los tipos de regla de análisis. Una regla de análisis analiza un elemento model/model y devuelve una lista de problemas encontrados durante el análisis.

SqlCodeAnalysisRule

Clase base para reglas de análisis de código estático de SQL. Una regla de análisis analiza un elemento model/model y devuelve una lista de problemas encontrados durante el análisis.

Las clases de implementación deben tener un ExportCodeAnalysisRuleAttribute definido en la definición de clase que se va a detectar y usar durante el análisis de código.

SqlRuleExecutionContext

Define los campos necesarios para el análisis, incluido el modelo de esquema y el elemento de modelo que se van a analizar.

SqlRuleProblem

Describe un problema encontrado por una regla durante el análisis. Contiene información relevante, como la regla que encontró el problema, sqlObject que provoca el problema, la gravedad y el mensaje de error que se van a mostrar.

La información de posición de origen (nombre de origen, línea de inicio y columna) se deduce inicialmente en función de ModelElement y Fragment se pasa al constructor. Tenga en cuenta que, si se pasa un Fragment elemento , se usará la línea de inicio o columna para que TSqlFragment se usará (si está presente), de lo contrario, se usarán los TSqlObjectvalores de (si están presentes). Tenga en cuenta que es posible que determinados modelos como los generados a partir de un dacpac no tengan información de posición de origen.

SqlRuleProblemSuppressionContext

Información de contexto para suprimir un problema de SCA

SuppressedProblemInfo

Información sobre un problema que se suprime para un origen determinado. Esta información incluye el nombre de origen y la regla cuyos problemas deben suprimirse.

Interfaces

Nombre Description
ISqlAnalysisRuleMetadata

Metadatos que describen una regla: su espacio de nombres, identificador, ámbito, etc.

Enumeraciones

Nombre Description
CodeAnalysisModelValidationMode

Determina la validación realizada en el modelo antes del análisis de código.

SqlRuleProblemSeverity

El tipo de mensaje para notificar problemas

SqlRuleScope

Ámbito examinado por una regla de análisis de código estático.