Compartilhar via


Microsoft.SqlServer.Dac.CodeAnalysis Namespace

Classes

CodeAnalysisResult

Os resultados da Análise de Código em relação a um modelo específico. Incluirá todos os SqlRuleProblems encontrados, além de quaisquer erros ocorridos durante a análise

CodeAnalysisRuleSettings

As configurações usadas para configurar regras usadas durante a análise.

Antes de a análise começar, esse objeto de configurações será aplicado às regras descobertas pelo serviço de análise. Se DisableRulesNotInSettings for definido como true, todas as regras não incluídas nessas configurações serão desabilitadas e não serão executadas durante a análise.

Essas configurações são aplicadas ao chamar o método ApplySettingsToRules(IEnumerable<RuleConfiguration>) nas regras retornadas pelo mecanismo.

CodeAnalysisService

Um serviço que executa a análise de código em um modelo e fornece resultados para o chamador.

Observe que essa classe não é thread-safe, já que não há suporte para múltiplas chamadas simultâneas para Analyze(TSqlModel). No entanto, é possível chamar Cancel() de um thread enquanto outro thread separado está aguardando o método Analyze(TSqlModel) ser concluído.

CodeAnalysisServiceFactory

Classe de fábrica que dá suporte à criação de CodeAnalysisService objetos.

CodeAnalysisServiceSettings

Define os parâmetros de configuração opcional para um CodeAnalysisService. Isso pode determinar quais regras são executadas, como suprimir determinados problemas e onde salvar os resultados.

Essas configurações também podem ser definidas no CodeAnalysisService após ele ter sido criado, mas são incluídas aqui para tornar a construção mais conveniente.

ExportCodeAnalysisRuleAttribute

Atributo que define uma exportação de regra e os metadados sobre essa regra. Implementa ISqlAnalysisRuleMetadata, que deve ser usado no lado do importador para garantir a consistência do tipo

ProblemSuppressionException

Representa uma exceção que ocorreu durante a execução do teste de supressão de problema de regra.

ProjectProblemSuppressor

Representa o supressor de problemas usado por projetos SSDT. O método ShouldSuppressProblem pode ser passado a ShouldSuppressProblem para usar essa classe.

Lê informações de supressão de um arquivo com um nome que corresponda a SuppressionFilename ("StaticCodeAnalysis.SuppressMessages.xml") no diretório-raiz.

Todos os caminhos relativos serão resolvidos em relação à pasta do projeto definida no construtor

RuleConfiguration

Especifica como uma regra deve ser configurada - isso deve ser habilitado ou desabilitado? Qual gravidade deve ser aplicada à regra?

RuleDescriptor

Descreve uma regra descoberta pelo mecanismo de regra e dá suporte à configuração de suas propriedades. Descritores herdam as propriedades de RuleConfiguration, para dar suporte à habilitação/desabilitação da regra durante a análise e especificação da gravidade de problemas criados pela regra.

Essa classe não deve ser usada como subclasse por usuários externos - instâncias de RuleDescriptor são criadas pelo serviço de análise.

RuleException

Representar uma exceção que pode ocorrer durante uma execução de análise de código

SqlAnalysisRule

Classe base para todos os tipos de regra de análise. Uma regra de análise analisa um elemento de modelo/modelo e retorna uma lista de problemas encontrados durante a análise.

SqlCodeAnalysisRule

Classe base para regras de análise de código estático do SQL. Uma regra de análise analisa um elemento de modelo/modelo e retorna uma lista de problemas encontrados durante a análise.

Classes de implementação devem ter um ExportCodeAnalysisRuleAttribute definido na definição de classe para ser descoberto e usado durante a análise de código.

SqlRuleExecutionContext

Define os campos necessários para análise, incluindo o modelo de esquema e o elemento de modelo a analisar.

SqlRuleProblem

Descreve um problema encontrado por uma regra durante a análise. Contém informações relevantes, como a regra que encontrou o problema, o SqlObject causando o problema, a gravidade e a mensagem de erro a exibir.

Informações de posição de fonte (nome da fonte de primeira linha e coluna) são inferidos inicialmente com base nos ModelElement e Fragment passados para o construtor. Observe que, se um Fragment for passado, a linha/coluna inicial para isso TSqlFragment será usada (se presente), caso contrário, os TSqlObjectvalores de serão usados (se houver). Observe que alguns modelos, como aqueles gerados por meio de um dacpac podem não ter informações de posição de origem.

SqlRuleProblemSuppressionContext

As informações de contexto para suprimir um problema SCA

SuppressedProblemInfo

Informações sobre um problema que está sendo suprimido para uma fonte específica. Essas informações incluem o nome da fonte e a regra cujos problemas devem ser suprimidos.

Interfaces

ISqlAnalysisRuleMetadata

Os metadados que descrevem uma regra - seu namespace, ID, escopo, etc.

Enumerações

CodeAnalysisModelValidationMode

Determina a validação executada no modelo antes da análise de código.

SqlRuleProblemSeverity

O tipo de mensagem para relatar problemas

SqlRuleScope

O escopo examinado por uma regra de análise de código estático.