FxCopルールを作成するという混乱の代わりに、ツールNDependを使用することもできます。このツールを使用すると、C#LINQクエリでコードルールを記述できます。 これをCQLinqと呼びます。免責事項:私はツールの開発者の1人です
デフォルトでは、200を超えるコードルールが提案されています。よく知られているC#LINQ構文のおかげで、既存のルールをカスタマイズしたり、独自のルールを作成したりするのは簡単です。
GC.WaitForFullGCComplete()やApplication.DoEvents()などの特定のフレームワーク呼び出しを防ぐために、vs2008のコード分析ツールを作成するにはどうすればよいですか。
この特定のニーズには、次の単純なCQLinqルールで十分です(このルールをどのような状況でも機能させるには、 AllowNoMatch()の使用法に注意してください)。
// <Name>Don't call these methods</Name>
warnif count > 0
from m in Methods
where m.IsUsing ("System.GC.WaitForFullGCComplete()".AllowNoMatch()) ||
m.IsUsing ("System.GC.WaitForFullGCComplete(Int32)".AllowNoMatch()) ||
m.IsUsing ("System.Windows.Forms.Application.DoEvents()".AllowNoMatch())
select m
CQLinqクエリはVisualStudioでライブ編集でき、結果ブラウジング機能を使用して即座に結果を提供します。

生成されたHTML+javascriptレポートで、ルールがVisualStudioでライブおよびビルドプロセス時に検証できることを正確に説明します。