チュートリアル : マネージ コードの分析によるコード障害の検出
このチュートリアルでは、コード分析ツールを使ってマネージ プロジェクトを分析し、コード障害を検出する方法について説明します。
このチュートリアルでは、コード分析を通じて、.NET マネージ コード アセンブリを分析し、これらのアセンブリが Microsoft .NET Framework デザイン ガイドラインに準拠しているかどうかを確認するプロセスを、順をおって説明します。
このチュートリアルでは、次のことを行います。
- コード障害の警告を分析および修正する。
必須コンポーネント
- Visual Studio Premium.
クラス ライブラリの作成
クラス ライブラリを作成するには |
|
プロジェクトの分析
マネージ プロジェクトのコード障害を分析するには
ソリューション エクスプローラーで CodeAnalysisManagedDemo プロジェクトを選択します。
[プロジェクト] メニューの [プロパティ] をクリックします。
CodeAnalysisManagedDemo のプロパティ ページが表示されます。
[コード分析] をクリックします。
[ビルドに対するコード分析の有効化 (CODE_ANALYSIS 定数を定義)] をオンにします。
[この規則セットを実行] ボックスの一覧の [Microsoft のすべての規則] をクリックします。
[ファイル] メニューの [選択されたファイルを上書き保存] をクリックし、ManagedDemo のプロパティ ページを閉じます。
[ビルド] メニューの [ManagedDemo のビルド] をクリックします。
[エラー一覧] ウィンドウと出力ウィンドウに、CodeAnalysisManagedDemo プロジェクトのビルド警告が表示されます。
コード分析の問題の修正
コード分析で指摘された規則違反を修正するには
[表示] メニューの [エラー一覧] をクリックします。
開発者が設定しているプロファイルによっては、[表示] メニューの [その他のウィンドウ] をポイントしてから、[エラー一覧] をクリックしなければならない場合もあります。
ソリューション エクスプローラーで、[すべてのファイルを表示] をクリックします。
次に、プロパティ ノードを展開し、AssemblyInfo.cs ファイルを開きます。
次の表に従って警告を修正します。
警告 |
警告を修正するには |
---|---|
CA1014: アセンブリに CLSCompliantAttribute を設定します: Microsoft.Design: 'demo' は、CLSCompliantAttribute でマークされ、その値は true でなければなりません。 |
|
CA1032: 標準例外コンストラクターを実装します: Microsoft.Design: 次のコンストラクターをこのクラスに追加します: public demo(String) |
|
CA1032: 標準例外コンストラクターを実装します: Microsoft.Design: 次のコンストラクターをこのクラスに追加します: public demo(String, Exception) |
|
CA1032: 標準例外コンストラクターを実装します: Microsoft.Design: 次のコンストラクターをこのクラスに追加します: protected demo(SerializationInfo, StreamingContext) |
|
CA1032: 標準例外コンストラクターを実装します: Microsoft.Design: 次のコンストラクターをこのクラスに追加します: public demo() |
|
CA1709: 識別子では、大文字と小文字が正しく区別されなければなりません: Microsoft.Naming: 名前空間の名前 'testCode' の大文字と小文字の指定を 'TestCode' に訂正してください。 |
|
CA1709: 識別子では、大文字と小文字が正しく区別されなければなりません: Microsoft.Naming: 型の名前 'demo' の大文字と小文字の指定を 'Demo' に訂正してください。 |
|
CA1709: 識別子では、大文字と小文字が正しく区別されなければなりません: Microsoft.Naming: メンバーの名前 'item' の大文字と小文字の指定を 'Item' に修正してください。 |
|
CA1710: 識別子は、正しいサフィックスを含んでいなければなりません: Microsoft.Naming: 'testCode.demo' の名前が 'Exception' で終わるように変更します。 |
|
CA2210: アセンブリには有効な厳密な名前が必要です: 'ManagedDemo' を厳密な名前キーで署名します。 |
|
CA2237: ISerializable 型を SerializableAttribute に設定します: Microsoft.Usage: [Serializable] 属性を型 'demo' に追加します。この型が ISerializable を実装するためです。 |
|
コード分析で生成された警告の除外
コード障害の警告を除外するには
[エラー一覧] 内の残りの警告を選択し、右クリックして [メッセージの非表示] をポイントし、[プロジェクト抑制ファイル内] をクリックします。 詳細については、「方法: メニュー項目を使用して警告を抑制する」を参照してください。
プロジェクトを再ビルドします。
警告やエラーを出さずにプロジェクトがビルドされます。