VSPackage 可以將訊息寫入活動記錄。 這項功能特別適用於對零售環境中的 VSPackage 進行偵錯。
小提示
活動記錄檔始終開啟。 Visual Studio 會保留最後 100 個專案以及前 10 個專案的滾動緩衝區,其中包含一般設定資訊。
若要將內容寫入活動日誌記錄
將此程序代碼插入 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 會使用目前的文化語境,將資訊項目寫入活動記錄中。
載入 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 建構函式中無法使用活動記錄。
您應該在寫入活動記錄之前取得活動記錄檔。 請勿快取或儲存活動記錄以供日後使用。