組件繫結記錄檔檢視器 (Fuslogvw.exe)
組件繫結記錄檔檢視工具會顯示組件繫結的詳細資料。這項資訊可以協助您診斷 .NET Framework 為何不能在執行階段時找到組件。這些失敗通常是由於組件部署到不正確的位置,或者版本號碼或文化特性 (Culture) 不符所導致。Common Language Runtime 不能找到組件,通常會在您的應用程式中顯示為 TypeLoadException。
若要檢視組件繫結記錄檔的內容
- 從命令列執行 Fuslogvw.exe。
檢視工具會對每一個失敗的組件繫結顯示一個項目。對於每一個失敗,檢視工具會描述啟始該繫結的應用程式;所要繫結的組件,包括名稱、版本、文化特性和公開金鑰 (Public Key);以及失敗的日期和時間。
若要變更記錄檔位置檢視
選取 [預設值] 選項按鈕,以檢視所有應用程式型別的繫結失敗。根據預設,記錄檔項目會存放在 Wininet 快取之磁碟上的每個使用者目錄。
選取 [自訂]**** 選項按鈕來檢視您指定之自訂目錄中的繫結失敗。透過將 [記錄檔設定] 對話方塊中的設定自訂記錄檔位置設為有效的目錄名稱,您必須指定要執行階段存放記錄檔的自訂位置。這個目錄應該是乾淨的,只含有執行階段產生的檔案。如果它含有會產生所要記錄之失敗的可執行檔,這個失敗並不會記錄下來,因為工具會嘗試使用與這個可執行檔同樣的名稱建立一個目錄。此外,嘗試從記錄檔的位置執行可執行檔將會失敗。
注意事項 預設繫結位置要比自訂繫結位置更合適。Runtime 會將預設繫結位置儲存在 Wininet 快取中,並且會自動清除它。如果您指定自訂的繫結位置,您必須負責清除它。
若要檢視特定失敗的詳細資料
在檢視工具中選取想要的項目的應用程式名稱。
按一下 [檢視記錄] 按鈕。或者,您也可以按兩下選取的項目。
工具便會顯示所選取繫結失敗的下列詳細資料:
繫結失敗的特定原因,例如「找不到檔案」或「版本不符」。
啟始繫結之應用程式的相關資訊,包括它的名稱、應用程式的根目錄 (AppBase) 以及私用搜尋路徑的描述 (如果有的話)。
工具所搜尋之組件的識別 (Identity)。
已套用之任何應用程式、發行者或系統管理員版本原則的描述。
在全域組件快取是否找到組件。
所有探查之 URL 的清單。
以下範例記錄檔項目所示為失敗組件繫結的詳細資訊。
** Assembly Binder Log Entry (3/5/2002 @ 12:54:20 PM) **
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\WINNT\Microsoft.NET\Framework\v1.0.3705\fusion.dll
Running under executable C:\Program Files\Microsoft.NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\graphic\cs\graphicfailtest.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = C:\Program Files\Microsoft.NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\graphic\cs\
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : graphicfailtest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Processing DEVPATH.
LOG: DEVPATH is not set. Falling through to regular bind.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources/graphicfailtest.resources.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources/graphicfailtest.resources.EXE.
LOG: All probing URLs attempted and failed.
若要從記錄檔刪除單一項目
在檢視工具選取項目。
按一下 [刪除項目]**** 按鈕。
若要從記錄檔刪除所有項目
- 按一下 [全部刪除] 按鈕。
若要重新整理使用者介面
- 按一下 [重新整理]**** 按鈕。檢視工具在執行中不會自動偵測新的記錄檔項目。您必須使用 [重新整理] 按鈕來顯示它們。
若要變更記錄檔設定
- 按一下 [設定]**** 按鈕,以開啟 [記錄檔設定] 對話方塊。
若要檢視關於對話方塊
- 按一下 [關於]**** 按鈕。
記錄檔設定對話方塊
您可以使用 [記錄檔設定] 對話方塊執行下列動作。
若要停用記錄
- 選取 [已停用記錄檔]**** 選項按鈕。請注意,預設已選取此選項。
若要記錄例外狀況中的組件繫結
選取 [例外狀況文字中的記錄] 選項按鈕。
請參閱有關於以定義域中性方式載入之組件的重要注意事項。
若要記錄組件繫結失敗
選取 [記錄磁碟的繫結失敗]**** 選項按鈕。
請參閱有關於以定義域中性方式載入之組件的重要注意事項。
若要記錄所有組件繫結
選取 [記錄磁碟的所有繫結] 選項按鈕。
請參閱有關於以定義域中性方式載入之組件的重要注意事項。
重要資訊 |
---|
以定義域中性方式載入組件時 (例如,將 LoaderOptimization 屬性設定為 System.LoaderOptimization.MultiDomain 或 System.LoaderOptimization.MultiDomainHost),在某些情況下開啟記錄功能可能會遺漏記憶體。如果在將定義域中性模組載入至應用程式定義域時加入了一筆記錄項目,稍後卸載應用程式定義域時,便可能發生這種情況。在處理序 (Process) 結束之前可能都不會發行此記錄項目。有些偵錯工具會自動開啟記錄功能。 |
若要啟動自訂記錄檔路徑
選取 [啟用自訂記錄檔路徑]**** 選項按鈕。
在 [自訂記錄檔路徑] 文字方塊中輸入路徑。
注意事項 |
---|
組件繫結記錄檔檢視器 (Fuslogvw.exe) 會使用 Internet Explorer (IE) 快取存放其繫結記錄檔。由於在 IE 快取中有時候會有所損毀,因此 組件繫結記錄檔檢視器 (Fuslogvw.exe) 有時可以在檢視中的視窗上停止顯示新的繫結記錄檔。由於這個損毀,.NET 繫結基礎結構 (融合) 無法寫入繫結記錄檔或從中讀取 (如果使用自訂記錄檔路徑就不會遇到這個問題)。若要修復損毀並允許融合再次顯示繫結記錄檔,請從 IE 的 [網際網路選項] 對話方塊中刪除 Temporary Internet files,以清除 IE 快取。 如果 Unmanaged 應用程式藉由實作 IHostAssemblyManager 和 IHostAssemblyStore 介面來裝載 (Host) Common Language Runtime,則無法將記錄項目儲存在 Wininet 快取中。若要檢視實作這些介面之自訂主機的記錄項目,必須指定替代的記錄檔路徑。 |
請參閱
參考
.NET Framework 工具
TypeLoadException 類別
SDK 命令提示字元