共用方式為


Microsoft.SqlServer.Dac.CodeAnalysis 命名空間

類別

CodeAnalysisResult

針對特定模型進行程式碼分析的結果。 除了分析期間發生的任何錯誤之外,還會包含任何 SqlRuleProblem 找到的

CodeAnalysisRuleSettings

用來設定分析期間使用之規則的設定。

開始分析之前,此設定物件將會套用至分析服務探索的規則。 如果 DisableRulesNotInSettings 設定為 true,則這些設定中未包含的任何規則都會停用,且不會在分析期間執行。

這些設定會藉由呼叫引擎所傳回的規則上的 ApplySettingsToRules(IEnumerable<RuleConfiguration>) 方法來套用。

CodeAnalysisService

可針對模型執行程式碼分析,並提供結果給呼叫者的服務。

請注意,此類別不是安全執行緒,因為不支援對 Analyze(TSqlModel) 的多個同時呼叫。 不過,可以從執行緒呼叫 Cancel(),而另一個執行緒正在等候 Analyze(TSqlModel) 方法來完成。

CodeAnalysisServiceFactory

支援建立 CodeAnalysisService 物件的 Factory 類別。

CodeAnalysisServiceSettings

定義 CodeAnalysisService 的選擇性組態設定。 這可以決定執行的規則、如何隱藏特定問題,以及儲存結果的目標位置。

建立設定之後也可以在 CodeAnalysisService 上設定這些設定,但在此處加入是為了讓建構更方便。

ExportCodeAnalysisRuleAttribute

定義規則匯出的屬性,以及該規則的相關中繼資料。 實作 ISqlAnalysisRuleMetadata,這應該用於匯入工具端以確保類型一致性

ProblemSuppressionException

表示執行規則問題隱藏項目測試時所發生的例外狀況。

ProjectProblemSuppressor

代表 SSDT 專案使用的問題抑制器。 ShouldSuppressProblem 方法可以傳遞至 ShouldSuppressProblem 來使用這個類別。

這會從根目錄中名稱符合 SuppressionFilename 的檔案 ("StaticCodeAnalysis.SuppressMessages.xml") 讀取隱藏項目資訊。

所有相對路徑都會解析為相對於建構函式中定義的專案資料夾

RuleConfiguration

指定應該如何設定規則 - 這要啟用或停用? 規則應該套用何種嚴重性?

RuleDescriptor

描述規則引擎所探索到的規則,並支援其屬性的組態。 描述元會從 RuleConfiguration 繼承屬性,以支援在分析期間啟用/停用此規則,並指定規則所建立問題的嚴重性。

這個類別並非要成為外部使用者的子類別 - RuleDescriptor 的執行個體是由分析服務建立。

RuleException

表示可能會在程式碼分析執行期間發生的例外狀況

SqlAnalysisRule

所有類型的分析規則基類。 分析規則會分析模型/模型元素,並傳回在分析期間所發現問題的清單。

SqlCodeAnalysisRule

SQL 靜態程式碼分析規則的基類。 分析規則會分析模型/模型元素,並傳回在分析期間所發現問題的清單。

實作類別的類別定義上必須定義 ExportCodeAnalysisRuleAttribute,才能在程式碼分析期間被探索到並使用。

SqlRuleExecutionContext

定義用於分析的必要欄位,包括結構描述模型和要分析的模型元素。

SqlRuleProblem

描述由規則在分析期間發現的問題。 包含相關資訊,例如發現問題的規則、導致問題的 SqlObject、嚴重性和要顯示的錯誤訊息。

最初會根據傳遞至建構函式的 ModelElementFragment,推斷來源位置資訊 (來源名稱、開始行和資料行)。 請注意,如果 Fragment 傳入 ,則會在存在) (使用的起始行/資料 TSqlFragment 行,否則 TSqlObject 如果存在) ,則會使用 的值 (。 請注意,某些模型 (例如從 dacpac 產生的模型) 可能沒有來源位置資訊。

SqlRuleProblemSuppressionContext

隱藏 SCA 問題的內容資訊

SuppressedProblemInfo

特定來源所隱藏之問題的相關資訊。 這項資訊包括來源名稱和應該隱藏問題的規則。

介面

ISqlAnalysisRuleMetadata

描述規則 - 其命名空間、識別碼、範圍等的中繼資料。

列舉

CodeAnalysisModelValidationMode

決定在程式碼分析之前在模型上執行的驗證。

SqlRuleProblemSeverity

用來報告問題的訊息類型

SqlRuleScope

靜態程式碼分析規則檢查的範圍。