共用方式為


使用活動記錄檔

VSPackage 可以將訊息寫入活動記錄。 這項功能特別適用於對零售環境中的 VSPackage 進行偵錯。

小提示

活動記錄檔始終開啟。 Visual Studio 會保留最後 100 個專案以及前 10 個專案的滾動緩衝區,其中包含一般設定資訊。

若要將內容寫入活動日誌記錄

  1. 將此程序代碼插入 Initialize 方法或 VSPackage 建構函式以外的任何其他方法中:

    IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog;
    if (log == null) return;
    
    int hr = log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_INFORMATION,
        this.ToString(),
        string.Format(CultureInfo.CurrentCulture,
        "Called for: {0}", this.ToString()));
    

    此程式代碼會取得 SVsActivityLog 服務,並將它轉換成 IVsActivityLog 介面。 LogEntry 會使用目前的文化語境,將資訊項目寫入活動記錄中。

  2. 載入 VSPackage 時(通常是叫用命令或開啟視窗時),文字會寫入活動記錄檔。

查看活動日誌

  1. 使用 /Log 命令列參數執行 Visual Studio,以在會話期間將 ActivityLog.xml 寫入磁碟。

  2. 關閉 Visual Studio 之後,請在 Visual Studio 資料的子資料夾中尋找活動記錄:

    *%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml

  3. 使用任何文字編輯器開啟活動記錄檔。 這是一個典型的條目:

    Called for: Company.MyApp.MyAppPackage ...
    

針對編輯器延伸模組中的匯入/匯出問題進行疑難解答:存取MEF組合錯誤記錄檔

撰寫以編輯器為基礎的擴充功能時,如果您嘗試匯入目前 VS 安裝中不存在的專案,或您錯誤地撰寫匯入或匯出,可能會遇到問題。 尋找並解決這些問題的主要方法是參考儲存在 %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.errManaged Extensibility Framework (MEF) 組合錯誤記錄檔。 若要深入瞭解如何在擴充功能中使用MEF,請參閱 此檔

穩固程式設計

因為活動記錄是服務,因此 VSPackage 建構函式中無法使用活動記錄。

您應該在寫入活動記錄之前取得活動記錄檔。 請勿快取或儲存活動記錄以供日後使用。