c# - 代码分析规则集的层次结构?

标签 c# .net asp.net-mvc code-analysis

我有一个解决方案包含两个 MVC 5 Web 应用程序和关联的类库,代码分析设置导致构建挂起。如果我在此期间尝试与 UI 交互,我会收到“VS 正忙”气泡。让构建在一夜之间完成也不起作用。

为了解决这个问题,我关闭了所有项目的代码分析,项目构建得很好 [0]。因此,我在其中一个 MVC 项目上启用了“Microsoft All Rules”,但构建过程并未完成。

“Microsoft Managed Minimum Rules”构建但我现在想要的是有某种结构化的方式来遍历规则集,我尝试的下一个是上一个成功规则的超集。这样的层次结构是否存在?如果存在,是否有规范的引用?

一旦我达到那个级别,我就可以开始隔离单独的规则,也许通过增加构建输出的冗长...

[0]
这句话不应被解释为“没有代码分析的构建是完全可以的”

最佳答案

通用层次结构通过位于 Visual Studio 安装目录下的 .ruleset 文件中的 Include 元素公开(例如:C:\Program Files ( x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets 对于典型的 VS 2015 安装)。从广义上讲,它看起来像这样(“所有规则”实际上并不依赖于任何其他规则):

  • 所有规则
    • 扩展正确性规则
      • 基本正确性规则
        • 最低推荐规则
    • 扩展设计指南规则
      • 基本设计指南规则
        • 最低推荐规则(同上)
    • 全局化规则
    • 安全规则

还值得注意的是,这不是一个没有重叠的清晰层次结构。例如,“全局化”和“安全”规则集中包含的规则也包含在其他一些规则集中(包括“最小”集)。

关于c# - 代码分析规则集的层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38435078/

相关文章:

c# - 如何使用 C# 从字符串中提取子字符串?

c# - “使用”关键字不起作用

python - 如何使用 Iron python 加载 DLL?

c# - 用于常见操作的 C# 属性的有序列表?

asp.net-mvc - ASP .NET 和 Silverlight UI 的架构模式

c# - 当相等比较器基于 OR 运算时,编写 GetHashCode() 的正确方法是什么?

c# - 没有属性和字段的类的缓存大小

.net - WPF/Silverlight 世界之外的 INotifyPropertyChanged 用法

c# - Entity Framework 不使用用户默认模式

c# - 如何在同一 View 中获取 Razor 文本框的值?