Partager via


Microsoft.SqlServer.Dac.CodeAnalysis Espace de noms

Classes

CodeAnalysisResult

Résultats de l’analyse du code sur un modèle particulier. Inclut les SqlRuleProbleméléments trouvés, en plus des erreurs qui se sont produites pendant l’analyse

CodeAnalysisRuleSettings

Paramètres utilisés pour configurer les 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étectées 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 sont pas exécutées pendant l’analyse.

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

CodeAnalysisService

Service qui exécute l'analyse de code sur un modèle et fournit les résultats à l'appelant.

Notez que cette classe n'est pas thread-safe, car plusieurs appels simultanés à Analyze(TSqlModel) ne sont pas pris en charge. Toutefois, il est possible d'appeler Cancel() à partir d'un thread tandis qu'un thread séparé attend que la méthode Analyze(TSqlModel) se termine.

CodeAnalysisServiceFactory

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

CodeAnalysisServiceSettings

Définit les paramètres de configuration facultatifs pour un CodeAnalysisService. Peut déterminer les règles qui sont exécutées, le mode de suppression de certains problèmes et l'emplacement où enregistrer les résultats.

Ces paramètres peuvent également être définis sur le CodeAnalysisService après sa création, mais ils sont inclus ici pour faciliter la construction.

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 méthode ShouldSuppressProblem peut être transmise à ShouldSuppressProblem pour utiliser cette classe.

Cela permet de lire les informations de suppression dans un fichier dont le nom correspond à SuppressionFilename (« StaticCodeAnalysis.SuppressMessages.xml ») dans le répertoire racine.

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

RuleConfiguration

Spécifie la méthode de configuration d’une règle : activée ou désactivée. Quelle gravité doit être appliquée pour cette règle ?

RuleDescriptor

Décrit une règle détectée 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 définie en 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 lors d’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 modèle/élément de modèle et retourne une liste des problèmes rencontrés pendant l'analyse.

SqlCodeAnalysisRule

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

Les classes d'implémentation doivent avoir un ExportCodeAnalysisRuleAttribute défini sur la définition de classe pour être détectés et utilisés 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 rencontré par une règle pendant l'analyse. Contient des informations utiles telles que la règle qui a détecté le problème, le SqlObject à l'origine du problème, la gravité et le message d'erreur à afficher.

Les informations sur la position de la source (nom de la source, ligne et colonne de départ) sont initialement déduites de ModelElement et Fragment transmis au constructeur. Notez que si un Fragment est passé, la ligne/colonne de début de ce TSqlFragment sera utilisée (le cas échéant), sinon les TSqlObjectvaleurs de 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 contenir les informations sur la position de la source.

SqlRuleProblemSuppressionContext

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

SuppressedProblemInfo

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

Interfaces

ISqlAnalysisRuleMetadata

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

Énumérations

CodeAnalysisModelValidationMode

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

SqlRuleProblemSeverity

Type de message permettant de signaler des problèmes

SqlRuleScope

L’étendue est examinée par une règle d’analyse statique du code.