如何编写一个在FxCop中拾取的AvoidCallingProblematicMethods异常?

时间:2011-01-11 20:22:26

标签: .net fxcop

我正在测试FxCop自动化,并希望验证它是筛选和捕获某些规则。我想创建一个会在FxCop中触发AvoidCallingProblematicMethods错误的DLL。

我有以下代码,但它根本没有触发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 个答案:

答案 0 :(得分:3)

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

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

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

您可以在here中看到VS Code Analysis和FxCop支持的代码分析规则对比表。

<强>更新

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

  1. FxCop规则中的备份程序集 目录(“%PROGRAMFILES%\ Microsoft FxCop 10.0 \规则“默认情况下”。
  2. 复制程序集 “%PROGRAMFILES%\ Microsoft Visual Studio 10.0 \ Team Tools \ Static 分析工具\ FxCop \规则“到FxCop 规则目录,除外 DataflowRules.dll(FxCop无法加载 来自DataflowRules.dll的规则。)