2011-12-18 18 views
7

estoy recibiendo un FileNotFoundException al intentar utilizar ImageMagick.NET, tomada desde la carpeta "bin" en el código en .. http://imagemagick.codeplex.com/releases/view/30302ImageMagick.NET Excepción

La excepción exacta que se ve es ...

"No se pudo cargar el archivo o ensamblado 'ImageMagickNET.dll' o una de sus dependencias. No se pudo encontrar el módulo especificado ."

ImageMagickNET.dll está en mi carpeta de salida, entonces, ¿qué otras dependencias necesita?

+0

Hay una conversación sobre este tema en su foro de proyecto: http://imagemagick.codeplex.com/discussions/66874 –

+0

"o una de sus dependencias" es el problema típico con un ensamblaje de modo mixto. Solucionar problemas con la utilidad ProcMon de SysInternals. Lo verá buscando la DLL justo antes de que su programa falle. –

+0

@HansPassant: estoy seguro de que ya lo sabe, pero para solucionar problemas de .Net DLL, como este, siempre voy directamente a ildasm.exe para examinar las dependencias de la DLL en cuestión después de mirar los registros de fusión para ver si proporcionar alguna pista Personalmente encuentro esto mucho más fácil que tratar de filtrar la salida de procmon. –

Respuesta

6

Agregue una referencia a 'ImageMagickNet.dll' que se encuentra en las carpetas 'bin \ ReleaseQ8' o 'bin \ RealeaseQ16', elija una de ellas.

Después de eso, tiene que descargar las DLL de la versión ImageMagick 6.5.3-10 para Q8/Q16 porque ImageMagickNet se creó para esta versión. (me encontré con todas las versiones de este enlace: http://image_magick.veidrodis.com/image_magick/binaries/ Por ejemplo, para Q16: descarga-6.5.3-10-Q16-windows-ImageMagick dll.exe)

luego instalarlo y copiar todos los archivos DLL de 'C : \ Program Files \ ImageMagick-6.5.3-Q16 'a su carpeta bin. Ahora debería poder ejecutarlo correctamente.

+0

Marcado como respuesta correcta. A pesar de que encontré una solución diferente hace un tiempo. – FrenchyNZ

+2

@Twitchy Si encontró otra solución, ¿podría compartirla con nosotros? Puede publicar respuestas a su propia pregunta. – svick

+0

En realidad, ni siquiera necesita copiar los archivos DLL en su contenedor siempre que ejecute el instalador. – bsara