ビルド中に静的コード分析を抑制するにはどうすればよいですか?
-
12-09-2019 - |
質問
15 のプロジェクトからなるソリューションがあり、すべてのプロジェクトでコード分析が有効になっています。
ソリューションの構築には簡単に 60 秒以上かかりますが、座って待っていると非常に長い時間になります。
コード分析を無効にすると、10 秒でビルドされます。
アドホックベースでコード分析を無効にできるようにしたいと考えています。しかし、それでも、チェックイン前のビルド時にコード分析が必要であり、コード分析を有効にしてビルド サーバー (クルーズ コントロール) を実行し続けたいと考えています。
Visual Studio 内からコード分析を実行して、エラーや警告が発生した場合にソース コードに直接ジャンプできるようにしたいと考えています。
解決
その方法は次のとおりです。
- 無効にする (正確には:デバッグ ビルド用のコード分析 (CA) は有効にしないでください。
- コード分析が有効になっている場合は、「Verify」という新しいビルド構成を作成します。警告はエラーとして扱われます。
- リリースビルドをそのままにしておきます。
通常の開発はデバッグ モードで行っており、チェックインする前に検証ビルドに合格する必要があるという非公式のルールがあるだけです。
これは忘れられがちですが、Verify ビルドで継続的インテグレーション (CI) を実行するため、コード分析の警告があるコードをチェックインするとビルドが中断されます。そのため、チェックインする前に手動で Verify ビルドを実行する方法をすぐに学習できます。 )
CA を使用せずに Debug を使用し、CA を使用して Release を使用することもできますが、CA を有効にすると CODE_ANALYSIS 定数が定義されるため、CA の抑制が IL に含まれることになり、リリース バイナリ (YMMV) にはそれを含めないことを好みます。
他のヒント
私たちのものにはそのような問題がありました。全員にクアッド 64 ビット プロセッサと 8 基の 16GB RAM を搭載しました。さらに、私たちはある時点でプロジェクトの数を制限しようとしました。最も優雅な解決策ではありませんが、非常に役に立ちました。