2011-01-11 56 views
1

我正在测试FxCop自动化并想验证它是筛选和捕获某些规则。我想制作一个dll,它会触发FxCop中的AvoidCallingProblematicMethods错误。如何在FxCop中编写AvoidCallingProblematicMethods异常?

我有以下代码,但它根本没有触发AvoidCallingProblematicMethods规则。我究竟做错了什么?

// use one of the listed unsafe methods to create a problematic method 
// http://msdn.microsoft.com/en-us/library/bb385973.aspx for list of offending methods 
GC.Collect(); 

我该如何旅行这个FxCop规则?

+1

同样的答案,请选择正确的规则集来生成CA2001。 – 2011-01-11 21:23:25

回答

3

您是否使用Visual Studio Code Analysis分析过,但使用独立的FxCop?

如果是这样,您的代码不会被检查,因为FxCop不支持AvoidCallingProblematicMethods规则。

更确切地说,FxCop不包含可靠性和可维护性规则。 AvoidCallingProblematicMethods规则被分类为可靠性规则。

您可以看到来自here的VS代码分析和FxCop支持的代码分析规则的比较表。

UPDATE

正如您将在佩德罗的评论看,你可以在的FxCop使用此规则,如果复制VS2010的代码分析规则的FxCop规则目录。在FxCop的规则

  1. 备份组件 目录(为 “%ProgramFiles%\微软 的FxCop 10.0 \规则” 默认情况下)。
  2. 在 复制组件为 “%ProgramFiles%\微软的Visual Studio的 10.0 \团队工具\静态 分析工具\ FxCop的\规则” 来的FxCop 规则目录,除了 DataflowRules.dll(的FxCop不能加载从 规则DataflowRules.dll)。
+1

请注意,您可以将VS2010规则加载到FxCop中,您只需知道它们的安装位置即可。您应该在“ \ Team Tools \ Static Analysis Tools \ FxCop \ Rules”下找到它们。 – Pedro 2011-01-20 18:56:52

相关问题