为了使用 VS2005 和 VS2008,我们在共享点列表中定义了当前的 ca 规则。
在列表中有一个列,其中列出了所有排除的程序集,以分号分隔。
自定义构建任务读取共享点列表,并负责在团队构建中使用“-!CA ...”排除项目文件中的指定规则。
现在我们计划将我们的项目迁移到 VS 2010 并且新的代码分析规则集会产生一些问题。
第一个想法是
- 从共享点创建规则集文件
- 添加 GlobalSupressions.cs 作为解决方案项,并将每个项目中的文件添加为链接文件
- 在 GlobalSupressions.cs 中创建一个带有目标命名空间和排除的 SupressMessage 条目
我用一个项目的小解决方案对其进行了测试。看起来目标命名空间不起作用。
我搜索了 stackoverflow 和互联网,主要答案是目标命名空间的抑制不起作用。
主应用程序包含 250 多个项目。
对我来说,似乎唯一可行的方法是为禁用排除规则的不同项目创建 n 个自定义规则集。
我不想通过完整的应用程序并重新抑制代码中的所有规则。
在这种情况下,您如何使用新规则集?
知道如何以简单且可维护的方式使用新规则集吗?共享点列表是代码分析规则定义的主导部分。
编辑 1
在以前的项目中,我们在共享点列表中管理代码分析规则集的定义。列表将所有 ca 规则显示为列表
- 卡号
- 活性
- 作为错误处理
- 排除(包含项目名称方,如“测试”或完整的项目/程序集名称)
从列表中创建一个规则集,其中
- 已激活 + handleAsError = 规则已启用
- !activated = 禁用规则
- 激活 + !handleAsError = 警告
例如,如果排除列具有类似“测试”的值,则在所有测试项目中都应禁用该规则。