代码之家  ›  专栏  ›  技术社区  ›  Amitabh

无法获取使用ASP.NET 4.0的ImageMagick.NET

  •  4
  • Amitabh  · 技术社区  · 14 年前

    我已经下载了 图片magick.net 源代码来自 密码丛 并使用Visual Studio 2010编译。但当我使用生成的 图片magicknet.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
    

    有人通过从源代码编译使imagmagic.net工作吗?

    1 回复  |  直到 13 年前
        1
  •  2
  •   cgyDeveloper    14 年前

    我知道这是一个有点老套的问题,但这看起来类似于我所看到的一个无与伦比的ImageMagick版本的问题。

    如果您使用的是来自其源的ImageMagicknet,则需要确保安装了ImageMagick 6.5.3-10。这可能意味着从源代码构建该版本,因为我认为二进制文件在任何地方都不可用(至少对于Windows)。

    如果您使用来自新的ImageMagick版本的源更新了ImageMagickNet项目,那么您可以将其与新安装的ImageMagick版本一起使用。但是,在Windows上使用ImageMagick 6.6.6-10尝试此方法时,我遇到了几个崩溃。可能是基础库中的更改太多,以致于ImageMagicKnet包装器无法与此较新版本一起正常工作。