4

我们有一个包含 15 个项目的解决方案,所有项目都启用了代码分析。

该解决方案很容易花费 60 多秒的时间来构建,这在等待时是很长的时间。

如果我禁用代码分析,它会在 10 秒内构建。

我希望能够临时禁用代码分析。但我仍然希望在签入前构建时进行代码分析,并且我希望我们的构建服务器(巡航控制)在启用代码分析的情况下继续运行。

如果代码分析是从 Visual Studio 中运行的,我更喜欢,所以如果我收到错误/警告,我可以直接跳转到源代码。

4

2 回答 2

9

我们是这样做的:

  • 为调试版本禁用(或者更确切地说:不启用)代码分析 (CA)。
  • 在启用代码分析的位置创建一个名为验证的新构建配置,并将警告视为错误。
  • 保持发布版本不变。

我们在 Debug 模式下进行正常开发,并且只是有一个非正式规则,即您必须在签入之前通过验证构建。

这很容易忘记,但我们在验证构建中运行持续集成 (CI),因此如果您签入具有代码分析警告的代码,则会中断构建 - 因此人们在签入之前很快学会了手动验证构建: )

您也可以只使用不带 CA 的调试和带 CA 的发布,但由于启用 CA 定义了 CODE_ANALYSIS 常量,这意味着 CA 抑制将包含在 IL 中,我不希望在我的发布二进制文件 (YMMV) 中包含它。

于 2009-08-11T11:37:49.660 回答
1

我们的东西有这样的问题。我们刚刚为每个人配备了 4 个 64 位处理器和 8 个 16GB 内存。另外,我们试图在任何一点限制项目的数量。不是最优雅的解决方案,但它有很大帮助。

于 2009-08-11T11:36:38.383 回答