是否可以从所有 FxCop 分析中排除完整的命名空间,同时仍使用以下方法分析程序集的其余部分 SuppressMessageAttribute?

在我当前的情况下,我有一堆由 LINQ to SQL 生成的类,这会导致很多 FxCop 问题,显然,我不会修改所有这些类以匹配 FxCop 标准,因为如果我重新生成类。

我知道 FxCop 有一个项目选项可以抑制对生成代码的分析,但它似乎无法将 LINQ 2 SQL 创建的实体和上下文类识别为生成代码。

有帮助吗?

解决方案

如果您用以下标记您的课程 [GeneratedCode] 属性,您可以将 /ignore generatedcode 标志与 FxCop 一起使用,如本 MSDN 帖子中所述:

常问问题:如何防止 FxCop 对生成的代码发出警告

您可能必须添加一个新的代码文件并在那里实现新的部分类,以将属性添加到类中:

[GeneratedCode]
public partial class MainDataContext { }

只需确保在创建新文件时将所有内容添加到正确的命名空间即可。

其他提示

一个 [GeneratedCode] attribute 添加到班。结果 的修改:我的意思是部分类具有相同的名称,由对方的回答解释

使用生成的代码属性,如下 博客文章 来自代码分析团队关于该主题的信息。

命名空间顶部的这个应该可以解决问题:

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

把语句GlobalSuppressions.vb在项目的根。

所有我是VB的范例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top