【问题标题】:How can I supress static code analysis during build?如何在构建期间抑制静态代码分析?
【发布时间】:2009-08-11 11:28:04
【问题描述】:

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

构建解决方案很容易需要 60 多秒,这对于坐着等待来说是很长的时间。

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

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

如果代码分析在 Visual Studio 中运行,我更愿意,这样如果我收到错误/警告,我可以直接跳转到源代码。

【问题讨论】:

    标签: .net visual-studio code-analysis static-analysis


    【解决方案1】:

    我们是这样做的:

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

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

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

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

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      相关资源
      最近更新 更多