Stylecop:使用父设置文件时,SA1400会出现太多错误

时间:2012-12-03 18:07:08

标签: c# visual-studio-2010 stylecop

我有一个(公司指定的)stylecop设置文件,其中包含一些规则。

这是我放入项目的父文件夹(测试项目,本地,没有源代码控制 - stylecop设置仍然说“与父文件夹中找到的设置文件合并”)。

当运行Stylecop(4.7.42,Rescan All)时,我收到了一些警告,如SA1400,SA1200等,我还没有定义。

另一方面,我有

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.MaintainabilityRules">
  <Rules>
    <Rule Name="ArithmeticExpressionsMustDeclarePrecedence">
      <RuleSettings>
        <BooleanProperty Name="Enabled">True</BooleanProperty>
      </RuleSettings>
    </Rule>
  </Rules>
  <AnalyzerSettings />
</Analyzer>

i = i * 2 + 3 * 6;

并没有得到任何警告。 (规则说明:http://stylecop.soyuz5.com/SA1407.html。实际上,在此处设置True或False不会产生任何消息。)

此外,打开设置编辑器时,会检查所有设置,但我只在设置文件中指定了一些。

我认为我的设置文件与Stylecop报告的内容没什么关系?!

如何解决?

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找:https://stackoverflow.com/a/13434198/1505426


从链接的答案中复制:

默认情况下,您的设置文件会合并到父设置中,这可能会导致一些问题。尝试通过添加以下设置来停止解决方案根目录中的合并:

<GlobalSettings>
    <StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
</GlobalSettings>

这将确保StyleCop在所有开发和构建计算机上的行为相同,无论在层次结构中较高的位置配置哪些设置(例如StyleCop应用程序文件夹中的设置)。但是,如果这样做,请确保从不再合并的文件中复制所有必需的设置。