ReSharper 和规则集文件

Posted

技术标签:

【中文标题】ReSharper 和规则集文件【英文标题】:ReSharper and Ruleset files 【发布时间】:2011-05-18 17:07:42 【问题描述】:

我创建了一个项目并添加了一个规则集文件。然后我故意违反规则以确保它正常工作,但事实并非如此。

这是我启用的规则。

CA2211 - Microsoft.Usage - “非常量字段不应该是 可见。”

错误代码:

public class Foo

    public string foobar = "Hello World";

它编译得很好,没有警告或错误。我认为这可能与 ReSharper 覆盖它有关?我不知道。关于如何解决此问题的任何想法?

【问题讨论】:

这可能是您想向 JetBrains 提交的问题/错误。 【参考方案1】:

根据Compare Visual Studio 2010 Products...

如果您运行的是 VS 2010 Premium 或 Ultimate,您应该可以使用“静态代码分析”。如果您是并且该功能未显示,您可能会考虑重新安装 Visual Studio。如果您没有运行其中任何一个,您将无法访问该功能,抱歉。

但是,您仍然可以使用 FxCop 来验证您的代码。


注意:该链接指向 FxCop 10.0。

【讨论】:

【参考方案2】:

CA2211 仅验证静态字段。如果你也想检查实例字段,你应该启用CA1051 (Microsoft.Design.DoNotDeclareVisibleInstanceFields)。

【讨论】:

好吧,我最终检查了规则集的每个框(所有规则)......当我编码错误时,它仍然没有给我任何警告。我认为这只是 ReSharper 以某种方式接管了这项工作。 当您说您“添加了一个规则集文件”时,您是简单地将文件添加到项目中,还是您实际上将其指定为项目的规则集(例如:通过代码分析页面在项目属性对话框中)? 我的属性对话框中没有“代码分析”选项。我认为该部分因重新锐化而被杀死。我记得我之前看过。 :-/ 我们有 ReSharper,我们在项目属性中有一个“代码分析”页面。因此,除非您的设置有什么不寻常之处,否则我认为 ReSharper 不是问题所在。您是否尝试过禁用 ReSharper 只是为了看看这是否会有所作为?

以上是关于ReSharper 和规则集文件的主要内容,如果未能解决你的问题,请参考以下文章

在 InspectCode 中应用 Resharper 命名规则

如何使用 Resharper 准确找出哪个规则将语法突出显示应用于 VS2022 中的特定代码元素?

如何自定义 Resharper 的“代码清理”以​​更改 C# 中的文档标题规则

受保护的内部属性与受保护的属性和 Resharper

resharper 8.1

按文件类型过滤 ReSharper 的“查找用法”