¿Cómo encuentro qué dll está causando un error?

¿Cómo encuentro qué dll está causando un error?

Fondo:

Windows 7 con SQL Server 2012 Data Tools y Visual Studio 2010 y 2012 instalados.

Intento crear un nuevo proyecto SSIS en Visual Studio y aparece el siguiente error:

El inicializador de tipo para Microsoft.DataTransformationServices.Project.SharedIcons generó una excepción Estoy casi seguro de que esto se debe a una DLL incorrecta en C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies

Pregunta: ¿Hay alguna forma de rastrear qué archivos DLL carga una aplicación en tiempo de ejecución?

También probé:

C:>lista de tareas /m /fi "nombreimagen eq devenv.exe "

pero sólo obtengo el 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

Además, soy consciente de que esto no es un problema de Visual Studio, sino uno con SSDT-BI que usa VS como shell, pero no hay una etiqueta SU para SSDT-BI.

Respuesta1

Esta publicación de blogde Scott Hanselman tiene varias técnicas para depurar errores de carga de ensamblajes. Recomendaría tanto elRegistro de fusiónacercamiento o elExplorador de procesosacercarse.

El Visor de registros de enlace de ensamblajes (Fusion Log Viewer) debe instalarse si tiene Visual Studio instalado. Se instala como parte del SDK de Windows. En mi máquina, la ruta es: c:\program files (x86)\microsoft sdks\windows\v8.0a\bin\NETFX 4.0 Tools\FUSLOGVW.exe Desde el botón "Configuración" puede habilitar "Registrar todos los enlaces al disco" para habilitar el registro.

Una vez habilitado el registro, cree el error y haga clic en "Actualizar" para ver todos los ensamblajes que se cargaron.

información relacionada