マネージド コード用のカスタム コード分析チェックイン ポリシーを実装する

コード分析チェックイン ポリシーでは、Azure DevOps プロジェクトのメンバーがバージョン コントロールにチェックインする前にソース コードに対して実行する必要がある規則のセットが指定されています。 Microsoft からは、コード分析規則を機能領域にグループ化する一連の標準 "規則セット" が提供されています。 "カスタム チェックイン ポリシー規則セット" では、プロジェクトに固有のコード分析規則のセットを指定します。 規則セットは、.ruleset ファイルに格納されます。

チェックイン ポリシーは、Azure DevOps プロジェクト レベルで設定され、バージョン コントロール ツリーの .ruleset ファイルの場所によって指定されます。 チーム ポリシーのカスタム規則セットのバージョン コントロールの場所についての制限はありません。

コード分析は、各プロジェクトのプロパティ ウィンドウでコード プロジェクトごとに構成します。 コード プロジェクトのカスタム規則セットは、ローカル コンピューター上の .ruleset ファイルの物理的な場所によって指定されます。 コード プロジェクトと同じドライブにある .ruleset ファイルを指定すると、Visual Studio によりプロジェクト構成内のファイルへの相対パスが使用されます。

Azure DevOps プロジェクトのカスタム規則セットを作成する場合は、どのコード プロジェクトの一部でもない特別なフォルダーに、チェックイン ポリシーの .ruleset ファイルを格納することをお勧めします。 専用のフォルダーにファイルを格納した場合、規則ファイルを編集できるユーザーを制限するアクセス許可を適用でき、プロジェクトが含まれるディレクトリ構造を別のディレクトリまたはコンピューターに簡単に移動できます。

プロジェクトのカスタム チェックイン規則セットを作成する

Azure DevOps プロジェクトのためのカスタム規則セットを作成するには、最初に、ソース管理エクスプローラーでチェックイン ポリシー規則セット用の特別なフォルダーを作成します。 次に、規則セット ファイルを作成し、ファイルをバージョン コントロールに追加します。 最後に、プロジェクトのコード分析チェックイン ポリシーとして規則セットを指定します。

Note

Azure DevOps プロジェクトでフォルダーを作成するには、まず、プロジェクトのルートをローカル コンピューター上の場所にマップする必要があります。

チェックイン ポリシー規則セット用のバージョン コントロール フォルダーを作成するには

  1. チーム エクスプローラーでプロジェクト ノードを展開し、[ソース管理] をクリックします。

  2. [フォルダー] ペインで、プロジェクトを右クリックして、[新しいフォルダー] をクリックします。

  3. メインの [ソース管理] ペインで、[新しいフォルダー] を右クリックし、[名前の変更] をクリックして、規則セット フォルダーの名前を入力します。

チェックイン ポリシー規則セットを作成するには

  1. [ファイル] メニューの [新規作成] をポイントし、 [ファイル] をクリックします。

  2. [カテゴリ] の一覧で [全般] をクリックします。

  3. [テンプレート] の一覧で、[コード分析規則セット] をダブルクリックします。

  4. 規則セットに含める規則を指定してから、作成した規則セット フォルダーに規則セット ファイルを保存します。

規則セット ファイルをバージョン コントロールに追加するには

  1. ソース管理エクスプローラーで、新しいフォルダーを右クリックし、[項目をフォルダーに追加] をクリックします。

    詳細については、Git と Azure Repos に関する記事を参照してください。

  2. 作成した規則セット ファイルをクリックし、[完了] をクリックします。

    ファイルがソース管理に追加され、自分用にチェックアウトされます。

  3. ソース管理エクスプローラーの詳細ウィンドウで、ファイル名を右クリックし、[保留中の変更をチェックイン] をクリックします。

  4. [チェックイン] ダイアログ ボックスで、必要に応じてコメントを追加した後、[チェックイン] をクリックします。

    Note

    Azure DevOps プロジェクトのためのコード分析チェックイン ポリシーを既に構成してあり、[現在のソリューションの一部であるファイルのみのチェックインを強制] をオンにしてある場合は、ポリシー エラーの警告がトリガーされます。 [ポリシー エラー] ダイアログ ボックスで、[ポリシー エラーをオーバーライドして、チェックインを続行] を選択します。 必要なコメントを追加して、[OK] をクリックします。

規則セット ファイルをチェックイン ポリシーとして指定するには

  1. [チーム] メニューで [プロジェクトの設定] をポイントし、[ソース管理] をクリックします。

  2. [チェックイン ポリシー] をクリックし、[追加] をクリックします。

  3. [チェックイン ポリシー] の一覧で [コード分析] をダブルクリックし、[マネージド コードのコード分析を強制] チェック ボックスがオンになっていることを確認します。

  4. [この規則セットを実行] の一覧で、[ソース管理から規則セットを選択]をクリックします。

  5. バージョン コントロールでのチェックイン ポリシー規則セット ファイルのパスを入力します。

    パスは、次の構文に従う必要があります。

    $/ TeamProjectName / VersionControlPath

    Note

    ソース管理エクスプローラーで次のいずれかの手順を使用してパスをコピーできます。

    • [フォルダー] ペインで、規則セット ファイルが格納されているフォルダーをクリックします。 [ソース] ボックスに表示されるフォルダーのバージョン コントロール パスをコピーし、規則セット ファイルの名前を手入力します。

    • 詳細ウィンドウで、規則セット ファイルを右クリックし、[プロパティ] をクリックします。 [全般] タブで、[サーバー名] の値をコピーします。

コード プロジェクトをチェックイン ポリシー規則セットと同期する

コード プロジェクトの [プロパティ] ダイアログ ボックスで、コード プロジェクトの構成のコード分析規則セットとして、プロジェクト チェックイン ポリシー規則セットを指定します。 規則セットがコード プロジェクトと同じドライブにある場合は、ファイル ダイアログ ボックスでパスを選択するときに、相対パスを使用して規則セットを指定します。 相対パスを使用すると、プロジェクトのプロパティの設定を、似たローカル バージョン コントロール構造を使用している他のコンピューターに移植できます。

プロジェクト規則セットをコード プロジェクトの規則セットとして指定するには

  1. 必要に応じて、チェックイン ポリシー規則セットのフォルダーとファイルをバージョン コントロールから取得します。

    このステップは、ソース管理エクスプローラーで、規則セットのフォルダーを右クリックして [最新バージョンの取得] をクリックすることにより、実行できます。

  2. ソリューション エクスプローラーでコード プロジェクトを右クリックし、[プロパティ] をクリックします。

  3. [コード分析] をクリックします。

  4. 必要に応じて、[構成][プラットフォーム] の一覧で適切なオプションをクリックします。

  5. 指定した構成を使用してコード プロジェクトをビルドするたびにコード分析を実行するには、[バイナリ アナライザー] セクションの [ビルド時に実行] を選択します。

  6. [この規則セットを実行] の一覧で、[参照] をクリックします。

  7. チェックイン ポリシー規則セット ファイルのローカル バージョンを選択します。