【问题标题】:Make C++ runtime available for Elastic Beanstalk deployment使 C++ 运行时可用于 Elastic Beanstalk 部署
【发布时间】:2014-03-08 11:18:47
【问题描述】:

我计划在 Amazon Elastic Beanstalk 上发布我的 ASP.NET 4.5 应用程序。我有一个依赖于 Visual C++ Redistributable Packages 的库 ImageMagick.NET。

我无法手动安装软件包,因为我从 Visual Studio 中部署应用程序,服务器将根据我拥有的代码自动扩展。

我想为 x86 和 x64 安装 Visual C++ Redistributable,以便我的应用可以按预期工作。

现在我得到错误:

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

那是因为我没有在服务器上安装软件包 (asked this question earlier)。

因此,据我了解,我需要一种预安装软件包的方法,可能是使用 merge modules 将 dll 提供给 bin 文件夹,或者从项目中初始化一个安装程序,之后将启动软件包安装程序该项目部署在 Elastic Beanstalk 上。

我需要一种方法来自动安装这些包,以便 ImageMagick.NET dll 可以工作。谢谢。

更新:他们可能是使用configuration files 的一种方式。

【问题讨论】:

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


    【解决方案1】:

    正确的方法是使用 Elastic Beanstalk 配置文件。

    这些是 YAML 文件,您可以在其中添加命令(以指定格式)并与您的应用程序包一起上传。你可以做一些事情,比如创建文件、安装库等。大多数命令行(无头)可行的东西都可以在这里处理。

    在运行 Windows 的 EC2 实例上自定义软件 - AWS Elastic Beanstalk:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-windows-ec2.html

    每次您部署新版本或重新启动服务器时,这些脚本都会执行,您几乎可以实现任何自定义。

    【讨论】:

    • 我知道索尼,我知道这一点。我无法弄清楚命令或如何使用正确的配置来安装 VC++ 2012。
    • 好的。所以你需要一个静默安装命令行。看看这是否能让你走得更远(不过这是 2010 年的):blogs.msdn.com/b/astebner/archive/2010/10/20/10078468.aspx
    • 看起来您必须将可执行文件保留在 S3 中,在 eb 脚本中下载,然后使用“/q /norestart”标志执行。
    • @IdanShechter 究竟是什么“没用”?我面临着类似的部署情况。从我读到上面提到的 S3/ebscript 选项索尼是推荐的程序。
    猜你喜欢
    • 2020-08-17
    • 2017-04-07
    • 2018-04-16
    • 2015-09-06
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    相关资源
    最近更新 更多