我有一个包含两个带有相关类库的MVC 5 Web应用程序的解决方案,并且代码分析设置导致构建挂起。如果我在这段时间内尝试与用户界面进行互动,我会得到" VS正忙着#34;气泡。让构建在一夜之间完成也不起作用。
为了排除故障,我关闭了所有项目的代码分析,项目构建得很好[0]。所以我启用了" Microsoft All Rules"其中一个MVC项目和构建过程都没有完成。
" Microsoft管理的最低规则"构建,但我现在喜欢的是,通过规则集的某种结构化方式,我尝试的下一个是最后一个成功的超集。这样的层次结构是否存在,如果存在,是否有规范的参考?
一旦达到那个级别,我就可以开始孤立个别规则,也许是通过增加构建输出的详细程度......
[0]
不应将此陈述解释为"没有代码分析的构建完全没问题"
答案 0 :(得分:4)
通过位于Visual Studio安装目录下的Include
文件中的.ruleset
元素公开了一般层次结构(例如:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets
,用于典型的VS 2015安装)。从广义上讲,它看起来像这样(使用"所有规则"实际上并不依赖于其他任何规则):
值得注意的是,这不是一个没有重叠的干净层次结构。例如,"全球化"中包含的规则。和"安全"规则集也包含在其他一些规则集中(包括"最小"设置)。
答案 1 :(得分:1)
要从规则集文件继承,可以将其包括:
<Include Path="MyOther.ruleset" Action="Default" />
然后,您可以覆盖特定规则的操作。