2016-07-08 101 views
1

私はC#プロジェクトでMagick.NET(Q16、AnyCpu)を使用しようとしています。私は(私はLinux上でだ)MonoDevelopの中でnugetを経由して、それをインストールし、そしてこのコードで私のプロジェクトでそれをテストしようとしました:Magick.NETを使用できません:System.EntryPointNotFoundException

using ImageMagick; 

// ... 

MagickImage img = new MagickImage(requestedPath); 
img.Thumbnail(new MagickGeometry(thumbnailWidth, thumbnailHeight)); 
cycle.Response.ContentType = "image/webp"; 
img.Write(httpContext.Response.OutputStream, MagickFormat.WebP); 
img.Dispose(); 

...しかし、私は、最初の行に例外が発生しました。奇妙なスタックトレースの関連部分は次のとおりです。

Unhandled Exception: 
System.TypeInitializationException: The type initializer for 'X64' threw an exception. ---> System.EntryPointNotFoundException: SetDllDirectory 
    at (wrapper managed-to-native) ImageMagick.NativeLibraryLoader+NativeMethods:SetDllDirectory (string) 
    at ImageMagick.NativeLibraryLoader.ExtractLibrary() <0x4089f680 + 0x0009b> in <filename unknown>:0 
    at ImageMagick.NativeLibraryLoader.Load() <0x4089f640 + 0x00027> in <filename unknown>:0 
    at ImageMagick.MagickSettings+NativeMethods+X64..cctor() <0x4089f530 + 0x0000b> in <filename unknown>:0 
    --- End of inner exception stack trace --- 
    at ImageMagick.MagickSettings+NativeMagickSettings..ctor() <0x4089f3e0 + 0x00017> in <filename unknown>:0 
    at ImageMagick.MagickSettings..ctor() <0x4089efb0 + 0x000a7> in <filename unknown>:0 
    at ImageMagick.MagickImage..ctor() <0x4089eee0 + 0x00033> in <filename unknown>:0 
    at ImageMagick.MagickImage..ctor (System.String fileName) <0x4089ee90 + 0x00017> in <filename unknown>:0 
... 

ここでは何が起こっていますか?

答えて

2

Magick.NETは現時点ではWindowsでのみ動作します。 Linux用のサポートをMagick.NETの.NET Coreバージョンに追加する予定です。執筆の時点で、それが起こる時は分かりません。

編集: Linuxのサポートが追加されました。 Macのサポートはまだtodoリストに載っている。

+0

ありがとうございます。残念ながら、それを働かせる方法はありません。サムネイルを生成するためのクロスプラットフォームの代替画像操作ライブラリがありますか? – starbeamrainbowlabs

+0

@dlemstraはMacで動作しますか? –

+0

@ jayantsingh現在のところ、WindowsとLinuxでのみサポートされています。 Macはまだtodoリストに載っている。 – dlemstra

関連する問題