共用方式為


逐步解說:分析 Managed 程式碼中的程式碼缺失

更新:2007 年 11 月

在這個逐步解說中,您會使用程式碼分析工具分析 Managed 專案,找出程式碼缺失。

這個逐步解說會引導您使用程式碼分析工具,分析 .NET Managed 程式碼組件 (Assembly),以便符合 .NET Framework 設計方針。

在本逐步解說中,您將會:

  • 分析並修正程式碼缺失警告。

必要條件

若要分析 Managed 專案並找出程式碼缺失

  1. 在 Development 版中,開啟 ManagedDemo 方案。

  2. 在 [方案總管] 中選取 ManagedDemo 專案。

  3. 在 [專案] 功能表上,按一下 [屬性]。

    ManagedDemo 屬性頁隨即顯示。

  4. 按一下 [程式碼分析]。

  5. 選取 [啟用程式碼分析 (定義 CODE_ANALYSIS 常數)]。

  6. 在 [檔案] 功能表上,按一下 [儲存選取項目],然後關閉 ManagedDemo 屬性頁。

  7. 在 [建置] 功能表上按一下 [建置 ManagedDemo]。

    ManagedDemo 專案建置警告會回報在 [錯誤清單] 和 [輸出] 視窗中。

若要修正程式碼分析規則違規

  1. 在 [檢視] 功能表上,按一下 [錯誤清單]。

    根據所選擇的程式開發人員設定檔,您可能必須指向 [檢視] 功能表上的 [其他視窗],然後按一下 [錯誤清單]。

  2. 在 [方案總管] 中按一下 [顯示所有檔案]。

  3. 接著,展開 [組態] 節點,然後開啟 AssemblyInfo.cs 檔。

  4. 使用下表來修正警告:

警告

若要修正警告

請以 CLSCompliantAttribute 標記組件: Microsoft.Design: 'ManagedDemo' 應以 CLSCompliantAttribute 標記,且其值應為 true。

  1. 將程式碼 usingSystem; 加入至 AssemblyInfo.cs 檔。

  2. 接著,將程式碼 [assembly: CLSCompliant(true)] 加入至 AssemblyInfo.cs 檔的結尾。

  3. 重建專案。

編譯器警告 (層級 1) CS3008.

  1. 將欄位 _item 的名稱變更為 ItemCount。

  2. 修改 public static int item { get { return _item; } } 以傳回 ItemCount。

  3. 重建專案。

請以 SerializableAttribute 標記 ISerializable 型別: Microsoft.Usage: 請將 [Serializable] 屬性加入至型別 'demo',因為這個型別會實作 ISerializable。

  1. 請將 [Serializable ()] 屬性 (Attribute) 加入至類別 (Class) demo。

  2. 重建專案。

實作標準例外狀況建構函式: Microsoft.Design: 將下列建構函式加入至這個類別: public demo(String)。

  • 請將建構函式 public demo (String s) : base(s) { } 加入至類別 demo。

實作標準例外狀況建構函式: Microsoft.Design: 將下列建構函式加入至這個類別: public demo(String, Exception)。

  • 請將建構函式 public demo (String s, Exception e) : base(s, e) { } 加入至類別 demo。

實作標準例外狀況建構函式: Microsoft.Design: 將下列建構函式加入至這個類別: protected demo(SerializationInfo, StreamingContext)。

  1. 將程式碼 using System.Runtime.Serialization; 加入至 Class1.cs 檔的開頭。

  2. 接著,加入建構函式 protected demo (SerializationInfo info, StreamingContext context) : base(info, context) { } to the class demo.。

  3. 重建專案。

實作標準例外狀況建構函式: Microsoft.Design: 將下列建構函式加入至這個類別: public demo()。

  1. 請將建構函式 public demo () : base() { } 加入至類別 demo。

  2. 重建專案。

識別項的後置字元應正確: Microsoft.Naming: 重新命名 'testCode.demo',使其以 'Exception' 結尾。

  • 將類別名稱和其建構函式變更為 DemoException。

識別項必須使用正確的大小寫: Microsoft.Naming: 更正命名空間名稱 'testCode' 的大小寫。

  • 將命名空間 testCode 的大小寫變更為 TestCode。

識別項必須使用正確的大小寫: Microsoft.Naming: 更正成員名稱 'item' 的大小寫。

  • 將成員的名稱變更為 Item。

組件應包含有效的強式名稱: 以強式名稱金鑰簽署 'ManagedDemo'。

  1. 在 [專案] 功能表上,按一下 [ManagedDemo 屬性]。

    專案屬性隨即出現。

  2. 按一下 [簽署]。

  3. 選取 [簽署組件] 核取方塊。

  4. 在 [選擇強式名稱金鑰檔] 清單中,選擇 [<新增>]。

    [建立強式名稱金鑰] 對話方塊隨即出現。

  5. 在 [金鑰檔名稱] 中輸入 TestKey。

  6. 輸入密碼,然後按一下 [確定]。

  7. 在 [檔案] 功能表上,按一下 [儲存選取項目],然後關閉屬性頁。

  8. 重建專案。

排除程式碼分析警告

若要排除程式碼缺失警告

  1. 選取 [錯誤清單] 中殘留的警告,然後以滑鼠右鍵按一下並選取 [隱藏訊息]。

  2. 重建專案。

    專案便開始建置,並且不會有任何警告或錯誤。