Я пытаюсь разместить 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 значение неограниченное, и все, что я получаю в файле, — это какой-то совершенно бессмысленный набор случайных символов.
Кто-нибудь сталкивался с подобной проблемой и решил ее?
Где хранится dll и в каком каталоге вы находитесь, когда выполняете команду dotnet?
каталог — var/www/test
при запуске автономного приложения: не удалось загрузить /var/www/test/libhostpolicy.so, ошибка: /var/www/test/libhostpolicy.so: невозможно открыть общий объектный файл: такого файла или каталога нет. При загрузке произошла ошибка. необходима библиотека libhostpolicy.so из [/var/www/test/] само собой разумеется, что файл есть...





после многих выпусков я использовал графический интерфейс «публикации» и заметил, что вместо использования чего-то вроде:
dotnetPublish -c Release -o /var/www/ --runtime linux-x64
есть вариант:
--время выполнения Linux-arm64
это имеет смысл, поскольку я пытался запустить его на rpi5, однако он безупречно запускал API и консольное приложение, но в качестве исключения не требовалось использовать System.IO, который, как я полагаю, совершенно другой в руке.
В любом случае, раскопки стоили мне пары часов. Надеюсь, это поможет кому-то еще...
Ошибки привязки сборки можно отладить с помощью функции .net FusionLog. быстрый поиск в Интернете по запросу «ubuntu fusionlog» показывает, что он также доступен под Linux. Я также нашел похожий вопрос по SO на stackoverflow.com/questions/62555973, но без принятого ответа.