使用活動記錄
VSPackage 可以將訊息寫入活動記錄。 這項功能特別適用於對零售環境中的 VSPackage 進行偵錯。
提示
活動記錄一律保持開啟。 Visual Studio 會保留最後 100 個項目以及前 10 個項目的捲動緩衝區,其中包含一般組態資訊。
如何將項目寫入活動記錄
將此程式碼插入 [初始化] 方法中或插入 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 會使用目前的文化內容,將說明項目寫入活動記錄中。
載入 VSPackage 時 (通常是叫用命令或開啟視窗時),文字會寫入活動記錄。
如何檢查活動記錄
使用 /Log 命令列參數執行 Visual Studio,以在工作階段期間將 ActivityLog.xml 寫入至硬碟。
關閉 Visual Studio 之後,請在 Visual Studio 資料的子資料夾中尋找活動記錄:
*%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml
使用任何文字編輯器開啟活動記錄。 以下是典型項目:
Called for: Company.MyApp.MyAppPackage ...
針對編輯器擴充功能中的匯入/匯出問題進行疑難解答:存取 MEF 組合錯誤記錄檔
寫入以編輯器為基礎的擴充功能時,如果您嘗試匯入目前 VS 安裝中不存在的項目,或您不正確地撰寫匯入或匯出,您可能會遇到問題。 尋找並解決這些問題的主要方法是參考儲存在 %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err
的 Managed Extensibility Framework (MEF) 組合錯誤記錄檔。 若要深入了解如何在擴充功能中使用 MEF,請參閱本文件。
穩固程式設計
因為活動記錄是一種服務,因此 VSPackage 建構函式中無法使用活動記錄。
您應該在寫入活動記錄之前取得活動記錄。 請勿快取或儲存活動記錄以供日後使用。