【问题标题】:FxCop VS2013 Anyone know what a warning identifier is?FxCop VS2013 有人知道警告标识符是什么吗?
【发布时间】:2023-09-12 23:54:01
【问题描述】:

从 VS2010 升级到 VS2013 我们在运行静态分析时开始出现此错误:

“CA0001 错误运行代码分析 CA0001 : 实现多个规则的类必须显式指定警告标识符”

我花了几个小时进行研究,但没有找到任何关于此错误的含义或如何修复它的信息。

CA0001 只是 FxCop 不喜欢该规则的一般错误,但什么是“警告标识符”?为什么这是 VS2013 而不是 VS2010 的问题?

【问题讨论】:

  • 您是否使用任何基于 Phoenix 规则引擎的自定义或第三方规则?
  • 不。我们有关于我们的递归标准和不通过网络发送个人信息的规则。

标签: visual-studio-2010 fxcop visual-studio-2013


【解决方案1】:

我发现,如果我将 FxCop(代码分析).targets 引用移到 Microsoft.CSharp.targets 之前,可以为我解决问题。

当我们讨论这个话题时,显然 StyleCop .targets 文件需要在 Microsoft.CSharp.targets 之后加载,以便在构建时运行 StyleCop 规则。

例子:

<Import Project="$(SolutionDir)\..\msbuild\CodeAnalysis\Microsoft.CodeAnalysis.Targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\..\msbuild\StyleCop v4.7\StyleCop.targets" />

【讨论】: