2011-12-18 12 views
7

sto ottenendo un FileNotFoundException quando si cerca di utilizzare ImageMagick.NET, preso dalla cartella "bin" nel codice a .. http://imagemagick.codeplex.com/releases/view/30302ImageMagick.NET Eccezione

L'eccezione esatto che ottengo è ...

"Impossibile caricare il file o l'assembly 'ImageMagickNET.dll' o una delle sue dipendenze.Il modulo specificato non è stato trovato."

ImageMagickNET.dll si trova nella mia cartella di output, quindi quali altre dipendenze sono necessarie?

+0

C'è una conversazione su questo problema nel forum del progetto: http://imagemagick.codeplex.com/discussions/66874 –

+0

"o una delle sue dipendenze" è il tipico problema con un assembly in modalità mista. Risolvi i problemi con l'utility ProcMon di SysInternals. Lo vedrai cercare la DLL poco prima che il tuo programma fallisca. –

+0

@HansPassant: sono sicuro che lo sai già, ma per risolvere problemi di DLL .Net come questo vado sempre a destra su ildasm.exe per esaminare le dipendenze della DLL in questione dopo aver guardato i log di fusione per vedere se fornire eventuali indizi Personalmente trovo molto più semplice questo tentativo di filtrare l'output procmon. –

risposta

6

Aggiungere un riferimento all '"ImageMagickNet.dll" trovato nelle cartelle "bin \ ReleaseQ8" o "bin \ RealeaseQ16", scegliere uno di essi.

Successivamente è necessario scaricare le DLL di ImageMagick 6.5.3-10 per Q8/Q16 perché ImageMagickNet è stato creato per questa versione. (ho trovato tutte le versioni a questo link: http://image_magick.veidrodis.com/image_magick/binaries/ Ad esempio, per scaricare Q16: ImageMagick-6.5.3-10-Q16-windows-dll.exe)

quindi installarlo e copiare tutti i file DLL da 'C : \ Programmi \ ImageMagick-6.5.3-Q16 'nella cartella bin. Ora dovresti essere in grado di eseguirlo correttamente.

+0

Contrassegnato come risposta corretta. Anche se ho trovato una soluzione diversa da un po 'di tempo fa. – FrenchyNZ

+2

@Twitchy Se hai trovato un'altra soluzione, puoi condividerla con noi? Puoi postare una risposta alla tua stessa domanda. – svick

+0

In realtà non è nemmeno necessario copiare le DLL nel cestino finché si esegue il programma di installazione. – bsara