Эльбрус/dotnet

Материал из ALT Linux Wiki

Net Core 3.1

  1. Получите SDK у МЦСТ.
  2. Распакуйте содержимое в /opt/mcst/dotnet
  3. Установите переменную окружения к dotnet: export PATH=/opt/mcst/dotnet:$PATH
    1. Отключаем проверку сокетов (нужно для работы NuGet): export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0
    2. Отключаем ETW, если не нужно трассирование и счётчики перформанса: export COMPlus_EnableDiagnostics=0

Проверяем:

:~$ dotnet --info

Пакет SDK для .NET Core (отражающий любой global.json):
 Version:   3.1.114-1.8.7
 Commit:    fb987199d2

Среда выполнения:
 OS Name:     elbrus
 OS Version:  7
 OS Platform: Linux
 RID:         linux-e2k
 Base Path:   /opt/mcst/dotnet/sdk/3.1.114/

Host (useful for support):
  Version: 3.1.12
  Commit:  826c2c2f8f

.NET Core SDKs installed:
  3.1.114 [/opt/mcst/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.1.14 [/opt/mcst/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.14 [/opt/mcst/dotnet/shared/Microsoft.NETCore.App]

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


Проблема:

* Нужно собирать нативные .so зависимости и размещать в runtime/native/<rid>
* Пока нет понятия E2K в рантайме и типах.

ALT

По состоянию на начало апреля 2022 года можно установить пакет dotnet-bootstrap-3.1 из sisyphus_e2k либо p10_e2k: # apt-get install dotnet-bootstrap-3.1 и далее: $ export PATH=/usr/lib64/dotnet-bootstrap-3.1:$PATH DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 COMPlus_EnableDiagnostics=0 $ dotnet --info (работу с переменными можно занести в ~/.bashrc или в настройки шелла по вкусу)

Пример правки .bashrc

Можно добавить в файл ~/.bashrc путь к dotnet через переменную DOTNET_ROOT, которая потребуется при запуске не self-contained приложений: DOTNET_ROOT="/opt/mcst/dotnet" PATH=$PATH:$DOTNET_ROOT DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 export DOTNET_ROOT PATH DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER