我使用的是Magick.NET,它是ImageMagick的.NET包装器,它会在客户端计算机上抛出上述错误。它在我的机器上工作正常。我没有安装ImageMagick所以我根本无法理解我在客户端计算机上需要做什么。我安装了VS 2012。
此外,Magick.NET在其中包含ImageMagick,我认为它使用C ++ / CLI并将.NET接口暴露给本机ImageMagick,所有这些都在一个DLL中。那么它需要什么DLL?
(我刚刚发现了这个错误,所以发布了我找到的解决方案。)
答案 0 :(得分:36)
Magick.NET需要安装VC 2012 Runtime,而Magick.NET V7 +(.NET 4.0)需要安装2012 {0}和VC 2015 Runtime。下载并安装在客户端计算机上。如果它弹出"修复或卸载"对话框然后它已经安装,你可能是missing another dependency。如果没有,请安装VCR并重新启动应用程序。
答案 1 :(得分:5)
对我来说还需要一件事: 在IIS应用程序池中 - >高级设置 - > 启用32位应用程序
答案 2 :(得分:0)
我有错
System.TypeInitializationException: The type initializer for 'X86' threw an exception. --->
System.DllNotFoundException: Unable to load DLL 'Magick.NET-Q16-x86.Native.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
通过设置固定应用程序池->高级设置->启用32位= false