我刚刚将一个项目从 2008 升级到 2010 Beta 2,StyleCop 现在报告带有前缀“is”的变量名称的 SA1305(匈牙利符号)警告。“是”肯定在允许的前缀列表中。
这是一个已知的问题?有没有其他人遇到过这个问题?该代码在 2008 年肯定是在没有任何警告的情况下编译的。
更新:事实证明,这可以在 Visual Studio 中按预期工作,但随后通过 MSBuild 失败。请参阅下面的答案以了解原因。
我刚刚将一个项目从 2008 升级到 2010 Beta 2,StyleCop 现在报告带有前缀“is”的变量名称的 SA1305(匈牙利符号)警告。“是”肯定在允许的前缀列表中。
这是一个已知的问题?有没有其他人遇到过这个问题?该代码在 2008 年肯定是在没有任何警告的情况下编译的。
更新:事实证明,这可以在 Visual Studio 中按预期工作,但随后通过 MSBuild 失败。请参阅下面的答案以了解原因。
您可以手动将“is”异常添加到 Settings.StyleCop:
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
<Value>is</Value>
</CollectionProperty>
</AnalyzerSettings>
</Analyzer>
</Analyzers>
我现在在使用 msbuild 与开发人员框进行构建时遇到了类似的问题。事实证明,C:\Program Files (x86)\MSBuild\Microsoft\StyleCop\v4.4
安装的默认 Settings.StyleCop ( ) 实际上包含一堆值,如果出现以下情况,您需要在自己的文件中复制:
或者
具体来说 - StyleCop 设置编辑器会自动选择从其他文件中排除的匈牙利符号,无论“设置文件”选项卡说什么。
只需像这样添加它:
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
<Value>is</Value>
</CollectionProperty>
</AnalyzerSettings>
</Analyzer>