`dotnet new command` в openSuse вызывает` Ошибка: не найдена используемая версия libssl` - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь разработать .NET Core в openSuse. Я установил SDK и все в учебниках. Теперь, когда я пытаюсь запустить команду dotnet new console, я получаю эту ошибку:

Не найдена пригодная для использования версия libssl

Прервано (ядро сброшено)

Я нашел этот ответ: ( .NET Core 2.1 SDK Linux x64 Не найдена пригодная для использования версия libssl ), но не получил то, что я должен сделать, чтобы решить проблему. Кажется, они глубоко-linuxer (а я нет, я просто пытаюсь изучить linux). Есть идеи, как запустить команду?

ОБНОВЛЕНИЕ: Информация о системе:

openSUSE Leap 15.0

Версия ядра 4.12.14-lp150.12.22-default

Тип ОС: 64-bit

Ответы [ 3 ]

0 голосов
/ 08 мая 2019

Тем не менее получите это на Fedora 30 (с установленным compat-openssl10) при использовании инструмента sqlpackage (https://docs.microsoft.com/en-us/sql/tools/sqlpackage-download?view=sql-server-2017).

$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.203
 Commit:    e5bab63eca

Runtime Environment:
 OS Name:     fedora
 OS Version:  30
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.203/

Host (useful for support):
  Version: 2.2.4
  Commit:  f95848e524

.NET Core SDKs installed:
  2.2.203 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

Dotnet отлично работает сам по себе. Но запущенный sqlpackage не работает:

$ sqlpackage /tsn:localhost /tu:xx /tp:yyy /A:Import /tdn:mydb /sf:mydb.bacpac
Importing to database 'mydb' on server 'localhost'.
No usable version of the libssl was found
Aborted (core dumped)
0 голосов
/ 27 июля 2019

Я посмотрел "Не удалось найти пригодную для использования версию libssl" в github. Вы найдете много вариантов библиотеки безопасности ядра .Net в C, каждый вариант имеет очень специфическую загрузку dll для точных библиотек libssl, и все должно идеально совпадать, несмотря на то, что во многих он назван по-разному.

Для raspberry pi / debian требуется libssl 1.0.2, больше ничего.

sudo apt-get install libssl1.0.2

должен сделать трюк для пи! Я не могу говорить с другими вариантами.

0 голосов
/ 08 ноября 2018

Можете ли вы установить 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 года это не должно быть обязательным. Мы обновили .NET Core 2.1 и более поздние версии, чтобы взять и работать с OpenSSL 1.1 или 1.0 (все, что доступно). Так что эта проблема больше не должна возникать с последними выпусками .NET Core.

...