Невозможно заставить ImageMagick .Net работать с Asp.Net 4.0 - PullRequest
4 голосов
/ 24 сентября 2010

Я скачал исходный код ImageMagick.Net из Codeplex и скомпилировал его с помощью Visual Studio 2010. Он собирается, но когда я использую сгенерированный ImageMagickNET.dll в моем приложении Asp.Net 4.0 я получаю следующую ошибку.

External component has thrown an exception. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Runtime.InteropServices.SEHException: External component has thrown an exception.

Source Error: 

Line 1049:     void Image::Read(System::String^ imageSpec)
Line 1050:     {
Line 1051:             image->read(Marshaller::SystemStringToStdString(imageSpec));
Line 1052:     }
Line 1053:

Source File: d:\dev\projects\imagemagick-63489\imagemagick.net\imagemagicknet\image.cpp    Line: 1051 

Stack Trace: 

[SEHException (0x80004005): External component has thrown an exception.]
   Magick.Image.read(Image* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* ) +0
   ImageMagickNET.Image.Read(String imageSpec_) in d:\dev\projects\imagemagick-63489\imagemagick.net\imagemagicknet\image.cpp:1051
   ImageMagickTest._Default.Page_Load(Object sender, EventArgs e) in D:\Sites\ImageMagickTest\ImageMagickTest\Default.aspx.cs:22
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

Кто-нибудь заставил ImagMagick.Net работать путем компиляции из исходного кода?

1 Ответ

2 голосов
/ 02 февраля 2011

Я знаю, что это немного старый вопрос, но это похоже на проблему с несопоставленными версиями ImageMagick, которые я видел.

Если вы используете ImageMagickNET из их источников, вам необходимо убедиться, что у вас установлен ImageMagick 6.5.3-10. Вероятно, это означает создание этого релиза из исходников, поскольку я не думаю, что двоичные файлы доступны где-либо (по крайней мере, для Windows).

Если вы обновили проект ImageMagickNET источниками из новой версии ImageMagick, то вы можете использовать его с новой установленной версией ImageMagick. Тем не менее, я испытываю несколько сбоев при попытке этого подхода с ImageMagick 6.6.6-10 в Windows. Возможно, в базовой библиотеке слишком многое изменилось для оболочки ImageMagickNET, чтобы он корректно работал с этой более поздней версией.

...