如何防止 FxCop 分析自动生成的代码?

Posted

技术标签:

【中文标题】如何防止 FxCop 分析自动生成的代码?【英文标题】:How to prevent FxCop from analyzing auto-generated code? 【发布时间】:2011-02-15 16:41:52 【问题描述】:

FxCop(静态代码分析工具)在检查 .edmx 模型后面的代码时给我一个错误。如何防止 FxCop 分析自动生成的代码(或至少 Entity Framework 生成的类)?

【问题讨论】:

【参考方案1】:

我已转向 Visual Studio 代码分析,因为它提供了与 FxCop 相同的功能。

来自FxCop blog:

“没错,它们是不同的产品(FxCop 和 VS Code Analysys),但它们确实有一个共同的引擎。Visual Studio 2008 SP1 已经提供了相同的修复和分析(加上一点点),所以有无需使用最新的 FxCop 来“更新”Visual Studio。”

但是出于某种原因抑制生成代码的结果选项(项目属性 -> 代码分析选项卡)并不能阻止对 .edmx 模型的自动生成代码进行代码分析。

然后我找到了blog,它帮助我解决了这个问题。

【讨论】:

答案中的第一个链接已失效 - "404 Not Found".【参考方案2】:

我在项目中使用了 /ignoregeneratedcode 开关,其中包含我不希望 FxCop 分析的自动生成代码。

这是关于how to prevent FxCop 1.36 from firing warnings against auto generated code 的 MSDN 常见问题解答。

【讨论】:

【参考方案3】:

您可以跳过程序集或规则(使用 FxCop.exe 中的复选框跳过规则或程序集。甚至可以为 FxCop 创建新规则以符合您的标准。FxCop 还提供您不想验证的类的属性。

【讨论】:

以上是关于如何防止 FxCop 分析自动生成的代码?的主要内容,如果未能解决你的问题,请参考以下文章

通过生成参数验证来修复 FxCop CA1062

从 FxCop 代码分析中排除完整的命名空间?

为 FX Cop 生成代码属性

在 MVC 网站的静态分析 (FxCop) 中包含 aspx

自动生成项目时如何在源中排除 FxCop?

vs 代码分析工具——FxCop analyzers & nuget 包 排除