当前缀有效时如何防止匈牙利符号的 StyleCop 警告

How do I prevent StyleCop warning of a Hungarian notation when prefix is valid

我有以下代码:

var fxRate = new FxRate();

这给了我以下 StyleCop ReSharper 警告:

The variable name 'fxRate' begins with a prefix that looks like Hungarian notation.

我已尝试将 Settings.StyleCop 文件复制到我的解决方案文件夹并为 fx 添加条目:

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

我已经重新启动 VS,但我仍然收到相同的警告。 我在 VS2017 中使用 StyleCop ReSharper 扩展。

如何确保 'fx' 是解决方案中的有效前缀(对于所有团队成员)?

我正在使用 VisualStudio 2017ReSharper 2018.2 以及相应的 StyleCop by JetBrains 扩展(版本 2018.2.0 - StyleCop.ReSharper.dll 5.0.6329.1 )


在我们的项目中,我在解决方案文件旁边的解决方案文件夹中添加了 Settings.StyleCop 文件。 为了测试您的前缀,我已将 fx 添加到我的设置文件中,它开箱即用。

我的文件包含以下分析器规则。

<Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
    <Rules>
        <Rule Name="FieldNamesMustNotUseHungarianNotation">
          <RuleSettings>
            <BooleanProperty Name="Enabled">True</BooleanProperty>
          </RuleSettings>
        </Rule>
    </Rules>
    <AnalyzerSettings>
        <CollectionProperty Name="Hungarian">
            ...             
            <Value>fx</Value>
            ..                
        </CollectionProperty>      
   </AnalyzerSettings>

我的 Resharper 配置如下所示:


How do I ensure 'fx' is a valid prefix in the solution for all team members)?

在我们的项目中,我们总是检查 StyleCop 设置文件,因此我们确保所有成员都使用正确的文件,并且我们可以为所有人保持最新。


除了 ReSharper 插件,您还可以使用 StyleCop Package found in the NuGet store 并将其添加到您的解决方案中:

StyleCop 团队建议在使用 VisualStudio 2015 及更高版本时使用 StyleCopAnalyzers over the StyleCop extension

我将 ReSharper 更新到 2018.2.1,现在文件中的值:

 <CollectionProperty Name="Hungarian">
          ...
          <Value>fx</Value>
          ...

正在被成功识别。这会使警告消失。

我不确定是更新本身还是清除缓存之类的问题。