【问题标题】:System.UnauthorizedAccessException: Access is denied. ImageMagick (Magick.NET)System.UnauthorizedAccessException:访问被拒绝。 ImageMagick (Magick.NET)
【发布时间】:2015-07-16 12:48:16
【问题描述】:

我正在使用 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 的 System 框架。

【问题讨论】:

    标签: asp.net asp.net-mvc-4 access-denied magick.net


    【解决方案1】:

    如文档 (https://magick.codeplex.com/documentation) 中所述,AnyCPU 版本会将 x64 或 x86 版本写入您的临时目录。但这在生产环境中并不总是有效。您可以使用 MagickAnyCPU 类的 CacheDirectory 属性来更改临时目录的位置。

    【讨论】:

    • K 所以事实证明这是两者的结合,需要安装/更新 c++ 再分发。非常感谢
    猜你喜欢
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2015-02-28
    • 2017-01-24
    • 1970-01-01
    相关资源
    最近更新 更多