微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure Functions 上的 VCRedist 2015+

如何解决Azure Functions 上的 VCRedist 2015+

我想运行一个在 Azure Function 应用上内部创建的 exe 文件。它执行一些需要 Visual C++ Redistributables 2015 的处理,但是它没有安装在运行该函数的虚拟机中,它仅随 2012 (I used reg query to find this out) 提供。有没有办法让可执行文件正常运行?

我尝试在与我的 exe 相同的文件夹中复制一些必需的 dll 并将路径添加到环境变量 %PATH%,这在函数上不起作用,但在常规 VM 上起作用(可能是因为沙箱函数 VM 的性质)。

解决方法

是的,没错。 Azure 应用服务/Azure 函数在称为沙箱的安全环境中运行,该环境具有一定的限制。限制比如玩一些 com 组件、写入注册表、User32/GDI32 限制。沙箱描述为 here

恐怕您将无法访问控制台并安装任何通过脚本运行的第 3 方库,例如:EXE 或 MSI。所以你不必显式加载/安装任何东西。

因此,如果您有任何与这些沙箱限制相关的任何内容,那么选择 Azure VM(您可以自己管理操作系统和安装的库)会更有意义。

仅供参考,您可以参考this来检查您的应用服务安装了哪个包。 [注意:由于本文档较旧,您可能看不到最新的VS示例,但它会引导您检查库的版本详细信息]

,

我能够完成这项工作。我从一个 .bat 文件运行应用程序,该文件做的很少,但其中一件事是干预 PATH。我对此进行了评论,但仍然无法正常工作,因此我直接从 .exe 文件运行了该应用程序,并且在同一文件夹中具有所需的 vc redist dll(其中 4 个)就可以解决问题。 事实证明,在我需要的条件下运行应用程序(带有预热实例的高级计划)比使用 Azure Batch 更昂贵,而且很可能比拥有专用 VM 更昂贵,这两者都让我更容易拥有我的必需品预先安装。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?