visual-studio - 禁用特定项目的代码分析规则

标签 visual-studio visual-studio-2012 code-analysis

我们有一个包含多个项目的解决方案(一些生产代码项目,一些包含我们的单元测试的测试项目)。

基本上,我们希望为所有项目(包括测试项目)启用相同的代码分析规则,以保持它们一致。尽管如此,我只想为我们的测试项目禁用代码分析的两个规则(CA1707 和 CA1702)。我可以创建一个新的 .ruleset 文件,其中包含与我的主规则集完全相同的规则,但我不想复制这些设置。让我们假设,我们决定将来在我们的主规则集中启用一个规则,我希望它在我的 testproject-ruleset 中自动启用。

这是定义包含所有解决方案范围通用规则的主规则集的正确方法(因此 CA 1707 和 CA 1702 将是 排除 )并为我的生产代码设置合并的规则集,使用主规则集作为基础并另外包括其他两个?

或者有没有办法定义我的主规则集以包含所有规则,然后从规则集中明确排除它们?

最佳答案

是的,这是可能的。规则集可以“导入”其他规则集,然后覆盖单个或多个规则的设置。这可以使用 http://msdn.microsoft.com/en-us/library/dd264974.aspx 上的“从多个现有规则集创建自定义规则集”中描述的步骤从 Visual Studio UI 进行配置。 (即使您只想导入单个规则集)。或者,这可以通过手动编辑规则集文件 XML 以添加对导入的规则集的引用来完成。例如。:

<Include Path="SomeOtherRuleset.ruleset" Action="Default" />

有关此示例,请参阅 ExtendedCorrectnessRules.ruleset与 Visual Studio 一起安装的文件。

关于visual-studio - 禁用特定项目的代码分析规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473245/

相关文章:

c# - 未知的 NuGet 错误无法检索信息

c - C中的DNS服务器返回IP地址和端口号

c++ - 为什么我的 visual studio 构建不正确?

c# - MVC 中代码分析规则集 CA1506 的最佳解决方案是什么(我不想压制)

algorithm - NP和co-NP有什么区别

c# - 无法抑制 CA1502

visual-studio - 如何在 Visual Studio 2017 中安装 Windows Phone 8 工作负载?

c# - 我可以在调试我的应用程序时添加一些注释吗?

html - 如何在 Visual Studio 之外开发 Windows 8 Metro 风格的 JS 应用程序?

c# - 运行我的 c# Selenium WebDriver 代码的 NUnit 错误