System.IO.FileLoadException в Ubuntu 24.04 при запуске веб-приложения .Net 8 или blazorapp

Я пытаюсь разместить webapp/blazorapp (неважно, на данный момент сами приложения представляют собой просто шаблоны из VS) на ubuntu24.04 (на данный момент на raspberrypi5). У меня есть четкая установка Ubuntu со всеми необходимыми обновлениями и обновлениями, как указано в Microsoft.

sudo apt-get update &&
sudo apt-get install -y dotnet-sdk-8.0

Все зависимости есть, на данный момент меня даже не волнует хостинг с apache, я просто хочу успешно его запустить, по сути я могу БЕЗ проблем запускать консольные или API-приложения.

У меня есть мой каталог (так как это dev env)

sudo chmod -R 777 /мой/путь/к/публикации

и когда

dotnet BlazorApp.dll

Я получил следующее

Необработанное исключение. System.IO.FileLoadException: не удалось загрузить файл или сборку «BlazorApp, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null». Прервано (ядро сброшено)

Я объясню заранее, что я установил для ulimit -c значение неограниченное, и все, что я получаю в файле, — это какой-то совершенно бессмысленный набор случайных символов.

Кто-нибудь сталкивался с подобной проблемой и решил ее?

Ошибки привязки сборки можно отладить с помощью функции .net FusionLog. быстрый поиск в Интернете по запросу «ubuntu fusionlog» показывает, что он также доступен под Linux. Я также нашел похожий вопрос по SO на stackoverflow.com/questions/62555973, но без принятого ответа.

devio 16.06.2024 13:49

Где хранится dll и в каком каталоге вы находитесь, когда выполняете команду dotnet?

OldBoy 16.06.2024 14:07

каталог — var/www/test

max 16.06.2024 14:13

при запуске автономного приложения: не удалось загрузить /var/www/test/libhostpolicy.so, ошибка: /var/www/test/libhostpolicy.so: невозможно открыть общий объектный файл: такого файла или каталога нет. При загрузке произошла ошибка. необходима библиотека libhostpolicy.so из [/var/www/test/] само собой разумеется, что файл есть...

max 16.06.2024 14:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

после многих выпусков я использовал графический интерфейс «публикации» и заметил, что вместо использования чего-то вроде:

dotnetPublish -c Release -o /var/www/ --runtime linux-x64

есть вариант:

--время выполнения Linux-arm64

это имеет смысл, поскольку я пытался запустить его на rpi5, однако он безупречно запускал API и консольное приложение, но в качестве исключения не требовалось использовать System.IO, который, как я полагаю, совершенно другой в руке.

В любом случае, раскопки стоили мне пары часов. Надеюсь, это поможет кому-то еще...

Другие вопросы по теме