Microsoft.SqlServer.Dac.CodeAnalysis Namespace

Klassen

Name Beschreibung
CodeAnalysisResult

Die Ergebnisse von Code Analysis für ein bestimmtes Modell. Enthält alle SqlRuleProblemgefundenen Elemente zusätzlich zu fehlern, die während der Analyse aufgetreten sind.

CodeAnalysisRuleSettings

Die Einstellungen zum Konfigurieren von Regeln, die während der Analyse verwendet werden.

Bevor die Analyse beginnt, wird dieses Einstellungsobjekt auf die vom Analysedienst ermittelten Regeln angewendet. Wenn DisableRulesNotInSettings auf "true" festgelegt ist, werden alle Regeln, die nicht in diesen Einstellungen enthalten sind, deaktiviert und während der Analyse nicht ausgeführt.

Diese Einstellungen werden angewendet, indem die ApplySettingsToRules(IEnumerable<RuleConfiguration>) Methode für vom Modul zurückgegebene Regeln aufgerufen wird.

CodeAnalysisService

Ein Dienst, der eine Codeanalyse für ein Modell ausführt und dem Aufrufer Ergebnisse bereitstellt.

Beachten Sie, dass diese Klasse nicht threadsicher ist, da mehrere simulatanische Aufrufe Analyze(TSqlModel) nicht unterstützt werden. Es ist jedoch möglich, einen Thread aufzurufen Cancel() , während ein separater Thread auf den Abschluss der Analyze(TSqlModel) Methode wartet.

CodeAnalysisServiceFactory

Factoryklasse, die das Erstellen von CodeAnalysisService Objekten unterstützt.

CodeAnalysisServiceSettings

Definiert die optionalen Konfigurationseinstellungen für ein CodeAnalysisService. Dies kann bestimmen, welche Regeln ausgeführt werden, wie bestimmte Probleme unterdrückt werden und wo Ergebnisse gespeichert werden sollen.

Diese Einstellungen können auch nach der CodeAnalysisService Erstellung festgelegt werden, sind aber hier enthalten, um die Konstruktion bequemer zu gestalten.

ExportCodeAnalysisRuleAttribute

Attribut, das einen Regelexport definiert, und die Metadaten zu dieser Regel. Implementiert ISqlAnalysisRuleMetadata, die auf der Importseite verwendet werden sollte, um die Typkonsistenz sicherzustellen.

ProblemSuppressionException

Stellt eine Ausnahme dar, die beim Ausführen des Regelproblems-Unterdrückungstests aufgetreten ist.

ProjectProblemSuppressor

Stellt den von SSDT-Projekten verwendeten Problemunterdrückungsmodul dar. Die ShouldSuppressProblem Methode kann übergeben ShouldSuppressProblem werden, um diese Klasse zu verwenden.

Dadurch werden Unterdrückungsinformationen aus einer Datei mit einem Namensabgleich SuppressionFilename ("StaticCodeAnalysis.SuppressMessages.xml") im Stammverzeichnis gelesen.

Alle relativen Pfade werden relativ zum im Konstruktor definierten Projektordner aufgelöst.

RuleConfiguration

Gibt an, wie eine Regel konfiguriert werden soll – sollte dies aktiviert oder deaktiviert werden? Welcher Schweregrad sollte für die Regel angewendet werden?

RuleDescriptor

Beschreibt eine Vom Regelmodul ermittelte Regel und unterstützt die Konfiguration der zugehörigen Eigenschaften. Deskriptoren erben Eigenschaften von RuleConfiguration, um die Aktivierung/Deaktivierung der Regel während der Analyse zu unterstützen und den Schweregrad für Probleme anzugeben, die von der Regel erstellt wurden.

Diese Klasse ist nicht als Unterklassen von externen Benutzern gedacht – Instanzen von RuleDescriptor werden vom Analysedienst erstellt.

RuleException

Darstellen einer Ausnahme, die während einer Codeanalyseausführung auftreten kann

SqlAnalysisRule

Basisklasse für alle Arten von Analyseregel. Eine Analyseregel analysiert ein Modell-/Modellelement und gibt eine Liste der Probleme zurück, die während der Analyse gefunden wurden.

SqlCodeAnalysisRule

Basisklasse für SQL-Regeln für statische Codeanalyseregeln. Eine Analyseregel analysiert ein Modell-/Modellelement und gibt eine Liste der Probleme zurück, die während der Analyse gefunden wurden.

Die Implementierung von Klassen muss für ExportCodeAnalysisRuleAttribute die Klassendefinition definiert sein, die während der Codeanalyse ermittelt und verwendet werden soll.

SqlRuleExecutionContext

Definiert die felder, die für die Analyse erforderlich sind, einschließlich des schemamodells und des Modellelements, das analysiert werden soll.

SqlRuleProblem

Beschreibt ein Problem, das von einer Regel während der Analyse gefunden wurde. Enthält relevante Informationen wie die Regel, die das Problem gefunden hat, das SqlObject, das das Problem verursacht, den Schweregrad und die anzuzeigende Fehlermeldung.

Quellpositionsinformationen (Quellname, Startzeile und Spalte) werden zunächst basierend auf dem ModelElement und Fragment an den Konstruktor übergebenen abgeleitet. Beachten Sie, dass, wenn ein Fragment Wert übergeben wird, die Startzeile/-spalte dafür TSqlFragment verwendet wird (sofern vorhanden), andernfalls werden die TSqlObjectWerte verwendet (sofern vorhanden). Beachten Sie, dass bestimmte Modelle, z. B. solche, die aus einem dacpac generiert wurden, möglicherweise keine Quellpositionsinformationen enthalten.

SqlRuleProblemSuppressionContext

Die Kontextinformationen zum Unterdrücken eines SCA-Problems

SuppressedProblemInfo

Informationen zu einem Problem, das für eine bestimmte Quelle unterdrückt wird. Diese Informationen umfassen den Quellnamen und die Regel, deren Probleme unterdrückt werden sollen.

Schnittstellen

Name Beschreibung
ISqlAnalysisRuleMetadata

Die Metadaten, die eine Regel beschreiben – namespace, ID, Bereich usw.

Enumerationen

Name Beschreibung
CodeAnalysisModelValidationMode

Bestimmt die für das Modell vor der Codeanalyse ausgeführte Überprüfung.

SqlRuleProblemSeverity

Der Typ der Nachricht zum Melden von Problemen

SqlRuleScope

Der Bereich, der von einer statischen Codeanalyseregel untersucht wird.