jav*_*iry 1 linux opensuse libressl .net-core
我正在尝试在 openSuse 中开发 .NET Core。我确实安装了 SDK 和教程中的所有内容。现在,当我尝试运行dotnet new console命令时,出现此错误:
找不到可用的 libssl 版本
中止(核心转储)
我找到了这个答案:(. NET Core 2.1 SDK Linux x64 没有找到可用的 libssl 版本),但没有得到我应该怎么做来解决问题。他们似乎是 deep-linuxer(我不是,我只是想学习 linux)。知道如何运行命令吗?
更新:系统信息:
openSUSE Leap 15.0
内核版本 4.12.14-lp150.12.22-default
操作系统类型:64-bit
你能安装这些libopenssl1_0_0包吗?.NET Core 应该选择并使用它。
对于任何好奇的人来说,稍微长一点的解释:
OpenSSL 是 Linux 上最常用的加密库之一。它有多个版本。1.0 版本有点旧,但使用量很大。1.1 是(相对)最近发布的较新版本。1.0 和 1.1 不兼容。期望 1.0 的应用程序不能针对 1.1 构建,也不能针对它运行。
.NET Core 2.1 和所有早期版本仅支持 OpenSSL 1.0。
许多 Linux 发行版开始将 OpenSSL 1.1 设为新的默认版本。但是他们中的大多数仍然有一个 1.0 的包。所以你只需要找到并安装它。在 Fedora 上,它是compat-openssl10. 对于 openSuSE,它是libopenssl1_0_0. 然后 .NET Core 会找到它,选择它并自动使用它。
编辑:截至 2019 年 3 月,这不是必需的。我们已经更新了 .NET Core 2.1 及更高版本,以选择和使用 OpenSSL 1.1 或 1.0(任何可用的版本)。因此,最近发布的 .NET Core 不应再出现此问题。
当 dotnet 正常工作时,我在 Ubuntu 20.04 上运行 sqlpackage 时遇到了同样的问题。
dotnet 通过 apt 和 sqlserver 分发,但由于某些原因,sqlpackage 改为通过 zip 分发(https://docs.microsoft.com/en-us/sql/tools/sqlpackage-download?view=sql-server- ver15 ) 并且仍然受到缺少 libssl1.0.
解决了
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3990 次 |
| 最近记录: |