3

StyleCop CheckInポリシーを(ここから)インストールしましたが、うまく機能します。ただし、CheckInポリシーの一部として適用したいカスタムルールをいくつか作成しました(Visual Studio 2008、Team Explorer 2008、TFS 2005)。

プロジェクトを右クリックして[StyleCop設定]をクリックすると、カスタムルールが設定ファイルに正常に表示されます。ただし、チェックインポリシーを追加し、同じsettings.StyleCopファイルをインポートしようとすると、カスタムルールがエディターウィンドウに表示されません。

おそらく関連するもう1つの問題は、Visual Studioからエディターを開いたときに、カスタムルールがStyleCop設定エディターに表示されることです。ただし、Windowsエクスプローラーから設定ファイルをダブルクリックしてエディターを開くと、ルールが表示されません。

チェックインポリシーの一部としてカスタムルールを実際に使用できるかどうか、また可能であれば、チェックインポリシーを追加するときにStyleCop設定エディターウィンドウにそれらを表示する方法を教えてください。

ありがとう、

ニール

4

2 に答える 2

3

はい、それは間違いなく可能です!

すべてを正しく機能させるのは少し難しいかもしれませんが、重要なことをいくつか知っておくと大いに役立ちます。

最初のステップは、カスタム ルールを使用して開発者マシンで StyleCop を正しく動作させることです
。1) StyleCop を開発者マシンにインストールする必要があります
。2) カスタム ルールを StyleCop と同じディレクトリにインストールする必要があります子ディレクトリ)。他の場所にインストールされている場合、正しく機能する可能性は低くなります。
3) カスタム ルールを有効にするには、そのインストール ディレクトリ、分析対象のプロジェクトを含むディレクトリ、およびその上のすべてのディレクトリにある Settings.StyleCop ファイルを組み合わせる必要があります。これは、プロジェクト ディレクトリにある Settings.StyleCop ファイルをダブルクリックし、エディターでルールが有効になっていることを確認することで最もよく確認できます。

次のポイントはさらにトリッキーで、StyleCop がビルド マシンで正しく動作するようにします。
これもほぼ同じ 3 つのポイントですが、チェックイン ポリシーのために StyleCop を実行するビルド マシン上にあります。そのため、ビルド マシンには StyleCop がインストールされ、カスタム ルールがインストールされ、すべての適切な Settings.StyleCop ファイルが必要であり、開発者マシンと同じ全体的な StyleCop ルール設定をビルド マシンに作成する必要があります。これは、ビルド マシンに StyleCop がインストールされている必要があることを認識していないため、簡単に破ることができます。StyleCop がインストールされている場合でも、StyleCop は VS 統合を介して実行することも (ご存じのとおり)、MSBuild 統合を介して StyleCop を実行することもできます。(これはあまり一般的ではなく、通常はあまり理解されていません)。多くの場合、ビルド マシンは MSBuild 統合を使用するようにセットアップされます。つまり、カスタム ルールは、作成した %Program Files%\StyleCop ディレクトリではなく、%Program Files%\MSBuild\Microsoft\StyleCop\v4.3 ディレクトリにインストールする必要があります。期待しているかもしれません。さらに、%Program Files%\StyleCop ディレクトリにある基本の Settings.StyleCop ファイルを変更した場合は、そのファイルを %Program Files%\MSBuild\Microsoft\StyleCop\v4.3 ディレクトリにコピーする必要があります。ビルドマシンで同じ効果を得るために。動作確認済みの Settings.StyleCop ファイルを開発者マシンからコピー アンド ペーストすることが、ビルド マシンの設定が正しいことを確認する最善の方法であることに注意してください。StyleCop はこれらの XML ファイルについて非常にうるさいです。また、わずかなタイプミスが奇妙な動作につながる可能性があり、デバッグに数日かかることもあります。手で編集しないでください。あなたは警告されました。8 )

したがって、正確に正しくない方法は間違いなくたくさんあり、そこに到達するまでは、説明したように奇妙に見えるでしょう. 幸いなことに、私が挙げた 3 つのポイントと、「ビルド マシンでの StyleCop」と「開発マシンでの StyleCop」の違いを念頭に置いておくことで、最終的にすべてがスムーズに機能するようになるはずです。まあ、少なくとも私にとっては一貫して機能しています。

幸運を!

于 2010-03-06T03:54:33.490 に答える
1

カスタム ルール (検証済み) をサポートする CodePlex で利用可能なチェックイン ポリシーを作成しました

于 2010-07-10T04:05:36.937 に答える