我已经从 Codeplex 下载了 ImageMagick.Net 源代码,并使用Visual Studio 2010进行了编译。它构建但是当我使用生成的 ImageMagickNET.dll时/ strong>进入我的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工作?
答案 0 :(得分:2)
我知道这是一个老问题,但这看起来与我看到的无与伦比的ImageMagick版本的问题类似。
如果您从其来源使用ImageMagickNET,则需要确保安装了ImageMagick 6.5.3-10。这可能意味着从源代码构建该版本,因为我认为二进制文件在任何地方都不可用(至少对于Windows而言)。
如果您使用新的ImageMagick版本中的源更新了ImageMagickNET项目,则可以将其与新安装的ImageMagick版本一起使用。但是,在Windows上使用ImageMagick 6.6.6-10尝试此方法时,我遇到了几次崩溃。可能是在底层库中发生了太多变化,ImageMagickNET包装器可以在这个更新的版本中正常工作。