【问题标题】:Could not load file or assembly Magick.Net on Elastic Beanstalk Deployment无法在 Elastic Beanstalk 部署上加载文件或程序集 Magick.Net
【发布时间】:2014-04-11 05:15:05
【问题描述】:

将我的项目部署到 Amazon Elastic Beanstalk 时出现以下错误:

Could not load file or assembly 'Magick.NET-x86.DLL' or one of its dependencies. The specified module could not be found.

我在 bin 文件夹中还有许多其他 DLL,而这个是唯一引发此错误的一个。据我所知,该 DLL 没有任何依赖项。

在本地运行时我没有收到此错误,并且 dll 在高级选项中设置为“不复制”,就像其他 DLL 一样。

我正在运行 ASP.NET 4.5 / C# 项目

在我得到的 Elastic Beanstalk 的 EC2 服务器上运行依赖遍历器:

如何在 Elastic Beanstalk 上启动我的项目时加载此 dll?

【问题讨论】:

  • 所以 magik.net dll 在 GAC 中,而不是在 bin 文件夹中?
  • 它在 bin 文件夹中 (Magick.NET-x86.dll)。我如何使其在 GAC 中可用? - 我确实提到了它的想法。如果需要在服务器上完成某些事情,那就不好了,因为我需要在 Visual Studio 中完成,因为将使用 Elastic Beanstalk 自动部署更多服务器
  • 您可能只是错过了 C++ 运行时 redist。
  • @FelicePollano 手动安装运行时不是一个选项,因为我使用的是弹性 beanstalk。在使用 Visual Studio 的 ASW 从 Visual Studio 中部署项目时,我需要一些方法来使其工作

标签: c# .net dll amazon-elastic-beanstalk magicknet


【解决方案1】:

The specified module could not be found.

这通常意味着指定的模块 (Magick.NET-x86.DLL) 不是问题,而是找不到 Magick.NET-x86.DLL 的依赖项。具体来说,非基于 CLR 的依赖项。

确定本机依赖项的最佳方法是使用依赖项查看器。你可以在这里找到:http://www.dependencywalker.com/

在depends.exe程序中打开Magick.NET-x86.DLL,查看依赖关系。如果您无法在亚马逊实例上执行此操作,则必须在您的 PC 上执行此操作。确保所有依赖项都已找到,并且与应用程序 .EXE 存在于同一文件夹中

我使用从他们的网站下载的以下文件执行此操作:Magick.NET-6.8.8.701-Q16-x64-net40-client

根据我在执行此操作时看到的依赖关系,最可能的罪魁祸首是没有 C++ 2012 运行时。请注意,此运行时适用于我从他们的网站下载的最新 64 位 DLL。如果您使用的是旧版本,则可能是不同的运行时。

要找出正确的运行时,请搜索 c++ DLL 名称。例如。 MSVCP110.dll == 2012

http://www.microsoft.com/en-us/download/details.aspx?id=30679

【讨论】:

  • 嗨,乔恩,我在问题正文中添加了 EC2 输出的图像,请您看一下。
  • 是的,正如我所说,这是缺少的 c++ 2012 运行时。把它安装在电脑上,你应该会很好。
  • 你的意思是在我的电脑上。从 Visual Studio 自动部署后,它会在 Elastic Beanstalk 上运行吗?
  • 使用 magick 的代码在哪里运行,您需要在哪里安装 C++ 2012 运行时。
  • 我可以在我的项目中使用 msvcp110.dll 作为运行时,而不是在服务器上手动安装它吗?
【解决方案2】:

Magick.NET 需要安装 VC 2012 Runtime。 (Visual C++ Redistributable for Visual Studio 2012)

此外,在服务器上安装 Visual C++ Redistributable for Visual Studio 2012 后,需要重新启动。

【讨论】:

    【解决方案3】:

    您可以使用提到的 .ebextensions 配置文件自动安装所需的软件包 here

    【讨论】:

      猜你喜欢
      • 2015-01-25
      • 1970-01-01
      • 2014-10-27
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多