2011-12-18 29 views
7

Tôi nhận được một FileNotFoundException khi cố gắng sử dụng ImageMagick.NET, lấy từ thư mục "bin" trong nguồn tại .. http://imagemagick.codeplex.com/releases/view/30302ImageMagick.NET Exception

Ngoại lệ chính xác tôi nhận được là ...

"Không thể tải tệp hoặc lắp ráp 'ImageMagickNET.dll' hoặc một trong các phụ thuộc của nó. Mô-đun được chỉ định không thể tìm thấy."

ImageMagickNET.dll nằm trong thư mục đầu ra của tôi, vì vậy những phụ thuộc nào khác cần?

+0

Có một cuộc trò chuyện về vấn đề này trên diễn đàn dự án của họ: http://imagemagick.codeplex.com/discussions/66874 –

+0

"hoặc một trong những phụ thuộc của nó" là vấn đề điển hình với một cụm chế độ hỗn hợp. Khắc phục sự cố với tiện ích ProcMon của SysInternals. Bạn sẽ thấy nó tìm kiếm DLL ngay trước khi chương trình của bạn thất bại. –

+0

@ HansPassant: Tôi chắc rằng bạn đã biết điều này rồi, nhưng để khắc phục sự cố .Net DLL vấn đề như thế này tôi luôn luôn đi ngay để ildasm.exe để kiểm tra các phụ thuộc của DLL trong câu hỏi sau khi nhìn vào các bản ghi tổng hợp để xem họ cung cấp bất kỳ manh mối nào. Cá nhân tôi tìm thấy điều này dễ dàng hơn nhiều mà cố gắng để lọc xuống đầu ra procmon. –

Trả lời

6

Thêm tham chiếu đến 'ImageMagickNet.dll' được tìm thấy trong thư mục 'bin \ ReleaseQ8' hoặc 'bin \ RealeaseQ16', chọn một trong số chúng.

Sau đó, bạn phải tải xuống tệp DLL phiên bản 6.5.3-10 của ImageMagick cho Q8/Q16 vì ImageMagickNet được tạo cho phiên bản này. (tôi thấy tất cả các phiên bản tại liên kết này: http://image_magick.veidrodis.com/image_magick/binaries/ Ví dụ, đối Q16 tải: ImageMagick-6.5.3-10-Q16-windows-dll.exe)

Sau đó cài đặt nó và sao chép tất cả các file DLL từ 'C : \ Program Files \ ImageMagick-6.5.3-Q16 'vào thư mục bin của bạn. Bây giờ bạn sẽ có thể chạy nó đúng cách.

+0

Được đánh dấu là câu trả lời chính xác. Mặc dù tôi đã tìm thấy một giải pháp khác nhau trong khi trở lại. – FrenchyNZ

+2

@Twitchy Nếu bạn tìm thấy một giải pháp khác, bạn có thể chia sẻ nó với chúng tôi không? Bạn có thể đăng câu trả lời cho câu hỏi của riêng bạn. – svick

+0

Bạn thậm chí không cần phải sao chép các tệp DLL vào thùng của mình miễn là bạn chạy trình cài đặt. – bsara