如何暂时禁用本地代码分析?

时间:2010-03-26 10:04:25

标签: visual-studio-2008 code-analysis

在这里,我们在本地和构建服务器上运行一组Visual Studio 2008的CA规则。要签入,我们的CA规则必须与服务器策略匹配。但是,我在一个包含多个项目的大型解决方案上工作。在发布模式下构建项目需要很长时间才能启用CA规则,但在创建或编辑单元测试时这是必需的。这使得使用单元测试成为一项痛苦的任务。我想做的是快速(比通过所有项目禁用CA更快)在开发过程中禁用CA规则,然后在签入之前重新启用它们。有没有人知道这是否可能?

2 个答案:

答案 0 :(得分:4)

我通常在解决方案级别为此创建一个“Debug No FxCop”构建配置,项目内部配置之间的唯一区别是Graham已经提到的RunCodeAnalysis属性。使用构建配置可以避免在想要在CA和非CA模式之间切换时重新加载解决方案。

答案 1 :(得分:3)

项目文件(C#的* .csproj)包含一个控制代码分析是否运行的元素 - <RunCodeAnalysis>true</RunCodeAnalysis>。 (您可以通过在文本编辑器中打开项目文件,或在Visual Studio中卸载项目,然后选择“编辑”来查看。)

您可以编写一个脚本(例如使用PowerShell)来迭代所有项目文件,使用XPath选择上面的元素,并切换它的值(即truefalse反之亦然。)

This question可能有用。