Microsoft.SqlServer.Dac.CodeAnalysis Espace de noms

Classes

Nom Description
CodeAnalysisResult

Résultats de Code Analysis par rapport à un modèle particulier. Inclut toutes les SqlRuleProblemerreurs trouvées, en plus des erreurs qui se sont produites lors de l’analyse

CodeAnalysisRuleSettings

Paramètres utilisés pour configurer des règles utilisées pendant l’analyse.

Avant le début de l’analyse, cet objet de paramètres est appliqué aux règles découvertes par le service d’analyse. Si DisableRulesNotInSettings a la valeur true, toutes les règles non incluses dans ces paramètres sont désactivées et ne s’exécutent pas pendant l’analyse.

Ces paramètres sont appliqués en appelant la méthode sur les ApplySettingsToRules(IEnumerable<RuleConfiguration>) règles retournées par le moteur.

CodeAnalysisService

Service qui exécute l’analyse du code sur un modèle et fournit des résultats à l’appelant.

Notez que cette classe n’est pas thread-safe, car plusieurs appels simulés à Analyze(TSqlModel) ne sont pas pris en charge. Toutefois, il est possible d’appeler Cancel() à partir d’un thread pendant qu’un thread distinct attend la fin de la Analyze(TSqlModel) méthode.

CodeAnalysisServiceFactory

Classe factory qui prend en charge la création d’objets CodeAnalysisService .

CodeAnalysisServiceSettings

Définit les paramètres de configuration facultatifs d’un CodeAnalysisService. Cela peut déterminer les règles à exécuter, comment supprimer certains problèmes et où enregistrer les résultats.

Ces paramètres peuvent également être définis après sa création, mais sont inclus ici pour rendre la CodeAnalysisService construction plus pratique.

ExportCodeAnalysisRuleAttribute

Attribut définissant une exportation de règle et les métadonnées relatives à cette règle. Implémente ISqlAnalysisRuleMetadata, qui doit être utilisé côté importateur pour garantir la cohérence des types

ProblemSuppressionException

Représente une exception qui s’est produite lors de l’exécution du test de suppression du problème de règle.

ProjectProblemSuppressor

Représente le suppresseur de problème utilisé par les projets SSDT. La ShouldSuppressProblem méthode peut être transmise pour ShouldSuppressProblem utiliser cette classe.

Cela lit les informations de suppression d’un fichier avec un nom correspondant SuppressionFilename («StaticCodeAnalysis.SuppressMessages.xml») dans le répertoire racine.

Tous les chemins d’accès relatifs sont résolus par rapport au dossier du projet défini dans le constructeur

RuleConfiguration

Spécifie comment une règle doit être configurée : doit-elle être activée ou désactivée ? Quelle gravité devez-vous appliquer à la règle ?

RuleDescriptor

Décrit une règle découverte par le moteur de règles et prend en charge la configuration de ses propriétés. Les descripteurs héritent des propriétés de RuleConfiguration, pour prendre en charge l’activation/la désactivation de la règle pendant l’analyse et la spécification de la gravité des problèmes créés par la règle.

Cette classe n’est pas destinée à être des sous-classes par des utilisateurs externes : les instances de RuleDescriptor sont créées par le service d’analyse.

RuleException

Représenter une exception qui peut se produire pendant une exécution d’analyse du code

SqlAnalysisRule

Classe de base pour tous les types de règle d’analyse. Une règle d’analyse analyse un élément modèle/modèle et retourne une liste de problèmes détectés lors de l’analyse.

SqlCodeAnalysisRule

Classe de base pour les règles d’analyse de code statique SQL. Une règle d’analyse analyse un élément modèle/modèle et retourne une liste de problèmes détectés lors de l’analyse.

L’implémentation de classes doit avoir une ExportCodeAnalysisRuleAttribute définition définie sur la définition de classe à découvrir et à utiliser pendant l’analyse du code.

SqlRuleExecutionContext

Définit les champs nécessaires à l’analyse, y compris le modèle de schéma et l’élément de modèle à analyser.

SqlRuleProblem

Décrit un problème trouvé par une règle pendant l’analyse. Contient des informations pertinentes telles que la règle qui a trouvé le problème, l’objet SqlObject à l’origine du problème, la gravité et le message d’erreur à afficher.

Les informations de position de la source (nom de la source, ligne de début et colonne) sont initialement déduites en fonction du ModelElement constructeur et Fragment transmises. Notez que si une Fragment valeur est passée, la ligne/la colonne de début pour celle-ci TSqlFragment sera utilisée (le cas échéant), sinon les TSqlObjectvaleurs de l’utilisateur seront utilisées (le cas échéant). Notez que certains modèles tels que ceux générés à partir d’un dacpac peuvent ne pas avoir d’informations de position source.

SqlRuleProblemSuppressionContext

Informations de contexte pour la suppression d’un problème SCA

SuppressedProblemInfo

Informations sur un problème supprimé pour une source particulière. Ces informations incluent le nom de la source et la règle dont les problèmes doivent être supprimés.

Interfaces

Nom Description
ISqlAnalysisRuleMetadata

Métadonnées décrivant une règle : son espace de noms, son ID, son étendue, etc.

Énumérations

Nom Description
CodeAnalysisModelValidationMode

Détermine la validation effectuée sur le modèle avant l’analyse du code.

SqlRuleProblemSeverity

Type de message pour signaler des problèmes

SqlRuleScope

Étendue examinée par une règle d’analyse de code statique.