7

我刚刚将一个项目从 2008 升级到 2010 Beta 2,StyleCop 现在报告带有前缀“is”的变量名称的 SA1305(匈牙利符号)警告。“是”肯定在允许的前缀列表中。

这是一个已知的问题?有没有其他人遇到过这个问题?该代码在 2008 年肯定是在没有任何警告的情况下编译的。

更新:事实证明,这可以在 Visual Studio 中按预期工作,但随后通过 MSBuild 失败。请参阅下面的答案以了解原因。

4

3 回答 3

10

您可以手动将“is”异常添加到 Settings.StyleCop:

<Analyzers>    
  <Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
    <AnalyzerSettings>
      <CollectionProperty Name="Hungarian">
        <Value>is</Value>
      </CollectionProperty>
    </AnalyzerSettings>
  </Analyzer>
</Analyzers>
于 2010-10-26T19:33:35.450 回答
4

我现在在使用 msbuild 与开发人员框进行构建时遇到了类似的问题。事实证明,C:\Program Files (x86)\MSBuild\Microsoft\StyleCop\v4.4安装的默认 Settings.StyleCop ( ) 实际上包含一堆值,如果出现以下情况,您需要在自己的文件中复制:

  • 您没有在“其他”(构建)机器上安装 StyleCop

或者

  • 您已启用“不与任何其他设置文件合并”

具体来说 - StyleCop 设置编辑器会自动选择从其他文件中排除的匈牙利符号,无论“设置文件”选项卡说什么。

于 2010-11-24T17:48:57.270 回答
2

只需像这样添加它:

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
  <AnalyzerSettings>
    <CollectionProperty Name="Hungarian">
      <Value>is</Value>
    </CollectionProperty>
  </AnalyzerSettings>
</Analyzer>

http://www.thewayithink.co.uk/stylecop/sa1305.htm

于 2010-01-07T19:13:37.123 回答