Microsoft.SqlServer.Dac.CodeAnalysis Namespace

Klassen

CodeAnalysisResult

Die Ergebnisse der Codeanalyse für ein bestimmtes Modell. Enthält alle gefundenen SqlRuleProblems sowie alle Fehler, die während der Analyse aufgetreten sind.

CodeAnalysisRuleSettings

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

Dieses Einstellungsobjekt wird vor Beginn der Analyse 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 durch Aufrufen der Methode ApplySettingsToRules(IEnumerable<RuleConfiguration>) auf alle von der Engine zurückgegebenen Regeln angewendet.

CodeAnalysisService

Ein Dienst, der am Modell eine Codeanalyse ausführt und die Ergebnisse an den Aufrufer zurückgibt.

Beachten Sie, dass diese Klasse nicht threadsicher ist, da mehrere gleichzeitige Aufrufe von Analyze(TSqlModel) nicht unterstützt werden. Jedoch ist der Aufruf von Cancel() aus einem Thread möglich, während ein anderer Thread wartet, bis die Analyze(TSqlModel)-Methode abgeschlossen ist.

CodeAnalysisServiceFactory

Factory-Klasse, die die Erstellung von CodeAnalysisService Objekten unterstützt.

CodeAnalysisServiceSettings

Definiert die optionalen Konfigurationseinstellungen für ein CodeAnalysisService. Diese Einstellungen können festlegen, welche Regeln ausgeführt werden, wie bestimmte Probleme unterdrückt werden und wo die Ergebnisse gespeichert werden.

Diese Einstellungen können auch in der CodeAnalysisService festgelegt werden (nachdem diese erstellt wurde), sind jedoch hier enthalten, um die Erstellung zu vereinfachen.

ExportCodeAnalysisRuleAttribute

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

ProblemSuppressionException

Repräsentiert eine Ausnahme, die beim Ausführen des Tests zur Unterdrückung von Regelproblemen aufgetreten ist.

ProjectProblemSuppressor

Der Problemfilter für SSDT-Projekte. Zur Verwendung dieser Klasse kann die ShouldSuppressProblem-Methode an ShouldSuppressProblem übergeben werden.

Liest die Unterdrückungsinformationen aus einer Datei mit dem Namen SuppressionFilename ("StaticCodeAnalysis.SuppressMessages.xml") aus dem Stammverzeichnis.

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

RuleConfiguration

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

RuleDescriptor

Beschreibt eine von der Regel-Engine erkannte Regel und unterstützt die Konfiguration deren Eigenschaften. Die Deskriptoren übernehmen die Eigenschaften von RuleConfiguration zur Angabe des Status der Regel während der Analyse (aktiviert oder deaktiviert) sowie des Schweregrads der von der Regel generierten Probleme.

Diese Klasse ist nicht als Unterklasse für externe Benutzer vorgesehen – Instanzen von RuleDescriptor werden vom Analysis Service erstellt.

RuleException

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

SqlAnalysisRule

Basisklasse für alle Typen von Analyseregel. Eine Analyseregel analysiert ein Modell bzw. ein Modellelement und gibt eine Liste der bei der Analyse festgestellten Probleme zurück.

SqlCodeAnalysisRule

Basisklasse für statische SQL-Codeanalyseregeln. Eine Analyseregel analysiert ein Modell bzw. ein Modellelement und gibt eine Liste der bei der Analyse festgestellten Probleme zurück.

Bei der Klassenimplementierung muss für die Klassendefinition ExportCodeAnalysisRuleAttribute definiert sein, damit die Definition erkannt und während der Codeanalyse verwendet wird.

SqlRuleExecutionContext

Definiert die erforderlichen Felder für die Analyse, einschließlich des Schemamodells und des Modellelements für die Analyse.

SqlRuleProblem

Beschreibt ein Problem, das während der Analyse durch eine Regel gefunden wird. Enthält relevante Informationen wie z. B. die Regel, die das Problem gefunden hat, das SqlObject, das das Problem verursacht hat, den Schweregrad und die anzuzeigende Fehlermeldung.

Quellpositionsinformationen (Name der Datenquelle, Startzeile und -spalte) werden anfänglich hergeleitet, basierend auf das an den Konstruktor übergebenen ModelElement und Fragment. Beachten Sie, dass, wenn ein Fragment übergeben wird, die Startzeile/Spalte für diese TSqlFragment verwendet wird (falls vorhanden), andernfalls werden die TSqlObjectWerte des s verwendet (sofern vorhanden). Beachten Sie, dass bestimmte Modelle, wie z. B. solche, die aus einem Dacpac generiert werden, möglicherweise über keine Quellpositionsinformationen verfügen.

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 Quelldateinamen und die Regel, deren Probleme unterdrückt werden sollen.

Schnittstellen

ISqlAnalysisRuleMetadata

Die Metadaten zum Beschreiben einer Regel – Namespace, ID, Bereich usw.

Enumerationen

CodeAnalysisModelValidationMode

Bestimmt die Validierung, die für das Modell vor der Codeanalyse durchgeführt wurde.

SqlRuleProblemSeverity

Der Meldungstyp zum Melden von Problemen

SqlRuleScope

Der Bereich, der von einer Analyseregel für statischen Code untersucht wird.