Como descubro qual dll está causando um erro?

Como descubro qual dll está causando um erro?

Fundo:

Windows 7 com SQL Server 2012 Data Tools e Visual Studio 2010 e 2012 instalados.

Tentando criar um novo projeto SSIS no Visual Studio e recebo o seguinte erro:

O inicializador de tipo para Microsoft.DataTransformationServices.Project.SharedIcons gerou uma exceção Tenho quase certeza de que isso está sendo causado por uma DLL incorreta em C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies

Descrição: Existe alguma maneira de rastrear quais DLLs estão sendo carregadas por uma aplicação em tempo de execução?

Eu também tentei:

C:>lista de tarefas /m /fi "nome da imagem eq devenv.exe"

mas obtenha apenas o resultado relativamente inútil:

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

Além disso, estou ciente de que este não é um problema do Visual Studio, mas sim do SSDT-BI que usa VS como shell, mas não há tag SU para SSDT-BI.

Responder1

Esta postagem do blogde Scott Hanselman possui várias técnicas para depurar erros de carregamento de assembly. Eu recomendaria tanto oRegistro de fusãoabordagem ou oExplorador de processosabordagem.

O Assembly Binding Log Viewer (Fusion Log Viewer) deverá ser instalado se você tiver o Visual Studio instalado. É instalado como parte do Windows SDK. Na minha máquina, o caminho é: c:\program files (x86)\microsoft sdks\windows\v8.0a\bin\NETFX 4.0 Tools\FUSLOGVW.exe No botão "Configurações", você pode ativar "Registrar todas as ligações no disco" para ativar o registro.

Assim que o log estiver habilitado, crie o erro e clique em “Atualizar” para ver todos os assemblies que foram carregados.

informação relacionada