题
是否可以从所有 FxCop 分析中排除完整的命名空间,同时仍使用以下方法分析程序集的其余部分 SuppressMessageAttribute
?
在我当前的情况下,我有一堆由 LINQ to SQL 生成的类,这会导致很多 FxCop 问题,显然,我不会修改所有这些类以匹配 FxCop 标准,因为如果我重新生成类。
我知道 FxCop 有一个项目选项可以抑制对生成代码的分析,但它似乎无法将 LINQ 2 SQL 创建的实体和上下文类识别为生成代码。
解决方案
如果您用以下标记您的课程 [GeneratedCode]
属性,您可以将 /ignore generatedcode 标志与 FxCop 一起使用,如本 MSDN 帖子中所述:
您可能必须添加一个新的代码文件并在那里实现新的部分类,以将属性添加到类中:
[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的范例。
不隶属于 StackOverflow