【发布时间】:2020-03-11 18:12:29
【问题描述】:
当我们在 Windows 服务器 2016/2019 上创建安全连接时,会收到以下消息:缺少 libcrypto-1_1.dll。
它在 Windows 10 和 Windows 2012 R2 上完美运行。
具体输出如下: 错误 - Sdk:13:38:25 | solClientOS.c:1142 (00001050) 无法加载 库'libcrypto-1_1.dll',错误:指定的模块不能 成立。 |空
这很奇怪,因为 libcrypto-1_1.dll 文件在此文件夹中可用。
这个问题的原因是什么?
【问题讨论】:
-
dll在哪里?该文件应与 c# 可执行文件位于同一文件夹中。
-
它与 c# 可执行文件位于同一文件夹中。
-
是否与 Windows 10 和 2012 R2 中的版本相同?它可能是 32 位版本和 64 位版本的东西。如果您的代码是在 32 位模式下编译的,您应该使用 32 位 dll 而不是 64。
-
"是否与 Windows 10 和 2012 R2 中的版本相同?"是的,它是文件夹内容的精确副本。我们的代码是 32 位的,libcrypto-1_1.dll(nuget 包附带)也是如此
-
您需要与供应商核实。我会猜的。我已经看到很多使用 Net 4.7 的情况,默认加密参数发生了变化,并且不适用于 32 位模式。没有得到任何解决方案的回应。 Net 4.6 也可能出现此问题(也不确定)。我只知道很多人在升级到带有加密模式的 Net 4.7 时遇到了问题。