我正在使用Magick.NET-AnyCPU,它在本地运行良好。当我部署到我的服务器时,它不起作用,我得到一个异常记录说:
System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Stack trace
at ImageMagick.MagickImage..ctor()
at ImageMagick.MagickImage..ctor(Stream stream)
在进行一些挖掘后,似乎AnyCPU版本的库试图在启动时从Temp目录动态加载它所需的版本。如何解决这个问题的任何帮助将不胜感激。我试图更新权限,但很难说这是否是原因。我试图使用该库的x64版本,但后来我甚至无法构建我的项目,因为它引用了我认为是x86的系统框架。
答案 0 :(得分:4)
如文档(https://magick.codeplex.com/documentation)中所述,AnyCPU版本会将x64或x86版本写入临时目录。但这并不总是适用于生产环境。您可以使用 MagickAnyCPU 类的 CacheDirectory 属性来更改临时目录的位置。