如何找到導致錯誤的 dll?

如何找到導致錯誤的 dll?

背景:

安裝了 SQL Server 2012 Data Tools 和 Visual Studio 2010 和 2012 的 Windows 7。

嘗試在 Visual Studio 中建立新的 SSIS 項目,出現以下錯誤:

Microsoft.DataTransformationServices.Project.SharedIcons 的類型初始值設定項目引發異常 我幾乎可以肯定這是由 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies 中不正確的 dll 引起的

問題:有什麼方法可以追蹤應用程式在運行時加載哪些 dll?

我也嘗試過:

C:>tasklist /m /fi "imagename eq devenv.exe "

但只能得到相對無用的結果:

Image Name                     PID Modules
========================= ======== ============================================
devenv.exe                    2784 ntdll.dll, wow64.dll, wow64win.dll,
                                   wow64cpu.dll
devenv.exe                    6836 ntdll.dll, wow64.dll, wow64win.dll,
                                   wow64cpu.dll

另外,我知道這不是 Visual Studio 的問題,而是 SSDT-BI 的問題,它使用 VS 作為 shell,但 SSDT-BI 沒有 SU 標籤。

答案1

這篇博文Scott Hanselman 提供了幾種偵錯組件載入錯誤的技術。我會推薦這兩個融合日誌方法或流程瀏覽器方法。

如果安裝了 Visual Studio,則應安裝組件綁定日誌檢視器(Fusion Log Viewer)。它作為 Windows SDK 的一部分安裝。在我的機器上,路徑是:c:\program files (x86)\microsoft sdks\windows\v8.0a\bin\NETFX 4.0 Tools\FUSLOGVW.exe 從“設定”按鈕,您可以啟用“將所有綁定記錄到磁碟”以啟用日誌記錄。

啟用日誌記錄後,建立錯誤並按一下「刷新」以查看已載入的所有組件。

相關內容