2011-01-11 6 views
1

私はFxCopの自動化をテストしており、それを検証して一定の規則を守っています。私はFxCopでAvoidCallingProblematicMethodsエラーを引き起こすdllを作りたいと思っています。AvoidCallingProblematicMethods例外をコード化してFxCopで取得する方法はありますか?

私は、次のコードを持っているが、それは全くAvoidCallingProblematicMethodsルールをトリガされていません。私は間違って何をしていますか?

// use one of the listed unsafe methods to create a problematic method 
// http://msdn.microsoft.com/en-us/library/bb385973.aspx for list of offending methods 
GC.Collect(); 

このFxCopルールをどのようにトリップできますか?

+1

同じ答え、CA2001を生成するように設定、適切なルールを選択します。 –

答えて

3

Visual Studio Code AnalysisではなくスタンドアロンのFxCopで分析しましたか?

もしそうなら、あなたのコードは、FxCopのはAvoidCallingProblematicMethodsルールをサポートしていないため、チェックされません。

は、FxCopのは、信頼性と保守性のルールが含まれていない、より正確に。 AvoidCallingProblematicMethodsルールは、信頼性ルールとして分類されます。

あなたはhereからVSコード分析とFxCopのによってサポートされているコード解析ルールの比較表を見ることができます。

UPDATE

あなたはペドロのコメントに表示されるようにあなたはFxCopのルールディレクトリにVS2010コード解析ルールをコピーした場合、あなたは、FxCopの中でこのルールを使用することができます。 FxCopのルールで

  1. バックアップアセンブリ ディレクトリ(デフォルトでは "%PROGRAMFILES%\マイクロソフト FxCopの10.0 \ルール")。 で
  2. コピーアセンブリ DataflowRules.dll(FxCopのから ルールをロードすることはできませんを除いて、FxCopの ルールディレクトリに "%PROGRAMFILES%\のMicrosoft Visual Studioの10.0 \チームのツールは、静的 解析ツールは、FxCopの\ルール\ \します" DataflowRules.dll)。
+1

VS2010のルールをFxCopにロードすることができます。インストールされている場所を知っておく必要があります。 「 \ Team Tools \静的分析ツール\ FxCop \ Rules」の下にそれらを見つける必要があります。 – Pedro

+0

@Pedro情報をありがとうございます。 FxCopでは信頼性と保守性のルールを使用できます。 –