Microsoft.SqlServer.Dac.CodeAnalysis 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
类
CodeAnalysisResult |
针对特定模型进行代码分析的结果。 除了分析期间发生的任何错误外,还将包括 SqlRuleProblem找到的任何 |
CodeAnalysisRuleSettings |
用于配置分析期间使用的规则的设置。 在分析开始之前,此设置对象将应用到分析服务发现的规则。 如果 DisableRulesNotInSettings 设置为 true,则这些设置中未包含的任何规则都将禁用,并且分析期间不会运行。 通过对引擎返回的规则调用 ApplySettingsToRules(IEnumerable<RuleConfiguration>) 方法来应用这些设置。 |
CodeAnalysisService |
用于针对模型运行代码分析并向调用方提供结果的服务。 请注意,此类不是线程安全的,因为不支持同时对 Analyze(TSqlModel) 进行多次调用。 但是,可以从一个线程调用 Cancel(),同时,有另一个线程正在等待 Analyze(TSqlModel) 方法完成。 |
CodeAnalysisServiceFactory |
支持创建对象的 CodeAnalysisService 工厂类。 |
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、问题严重性以及要显示的错误消息。 源位置信息(源名称、起始行和列)最初是根据传入构造函数的 ModelElement 和 Fragment 推断的。 请注意,如果 Fragment 传入 ,则将使用 的 TSqlFragment 起始行/列 (如果存在) ,则 TSqlObject使用 的值 ((如果存在) )。 请注意,某些模型(例如,从 dacpac 生成的模型)可能没有源位置信息。 |
SqlRuleProblemSuppressionContext |
用于抑制 SCA 问题的上下文信息 |
SuppressedProblemInfo |
有关为特定源抑制的问题的信息。 此信息包括源名称,以及应抑制其问题的规则。 |
接口
ISqlAnalysisRuleMetadata |
用于描述规则的元数据 - 规则的命名空间、ID、范围,等等。 |
枚举
CodeAnalysisModelValidationMode |
确定在代码分析之前对模型执行的验证。 |
SqlRuleProblemSeverity |
用于报告问题的消息类型 |
SqlRuleScope |
静态代码分析规则检查的范围。 |