Обновить

При установке .NET на линукс есть возможность использовать репозиторий либо официальный Ubuntu, либо от Microsoft (вариант со скриптом не рассматриваю)

Важный момент в том, что установка из этих 2 фидов происходит по-разному и в результате они могут конфликтовать

Принципиальное различие:

  • Ubuntu устанавливается в /usr/lib/dotnet

  • Microsoft устанавливается в /usr/share/dotnet

Когда я переходил из Ubuntu на Microsoft столкнулся с проблемой, что Rider, хоть и находит бинарник дотнета, не может запустить скомпилированное приложение. Выводилась ошибка следующего вида:

You must install .NET to run this application.

App: /home/user/repos/myapp/myapp
Architecture: x64
Host version: 7.0.0
.NET location: Not found

В итоге проблема оказалось следующей:

Исполняемый файл (запускаемый, не *.dll) пытается обнаружить путь до dotnetчерез переменную окружения DOTNET_ROOT

.NET из Ubuntu устанавливает ее равной /usr/lib/dotnet. Но для репозитория Microsoft, dotnet устанавливается в /usr/share/dotnet. После установки из нового фида, переменная не обновляется

Эту проблему я решил обновив файл /etc/environment - устанавливаю DOTNET_ROOT вручную. Теперь файл выглядит так

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
DOTNET_ROOT="/usr/share/dotnet"

Надеюсь, помог тем, кто столкнется с этим в будущем

Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Представлен открытый минималистичный браузер Northstar, написанный полностью с нуля на языке C

Представлен открытый минималистичный браузер Northstar, написанный полностью с нуля на языке C. Одно окно, одна страница, один процесс — около 170 000 строк оригинального кода на C. В проекте не используется сторонний движок: ни Gecko, ни WebKit, ни Blink. Это свободное программное обеспечение, распространяемое на условиях лицензии GNU General Public License v3.0.

Представлен открытый минималистичный браузер Northstar, написанный полностью с нуля на языке C

Публикации