Библиотека libhostpolicy.so, необходимая для выполнения приложения, не найдена.

Во время запуска консольного приложения dotnet я столкнулся с этой ошибкой. Я запустил его из каталога, в который были скопированы файлы .dll и .pdb.

В чем причина этой ошибки?


person David Hunsicker    schedule 30.05.2018    source источник


Ответы (2)


Пожалуйста, проверьте chmod папки приложения. Когда я изменил режим доступа к папке, проблема была решена. Я знаю, что это немного странно, но иногда это может быть связано с этим :)

Вы должны определить их таким образом;

sudo chown -R yourusername:yourusername /var/www/
sudo setfacl -R -d -m u:yourusername:rwx,g:yourusername:rwx,o::r /var/www/

Если у вас нет команды setfacl, установите пакет ACL с помощью этой команды;

sudo apt install acl

Если это не работает, используйте эту команду при публикации проекта (в консоли диспетчера пакетов Visual Studio);

dotnet publish -c Release --self-contained --runtime linux-x64 -o out

И он создаст папку в каталоге вашего решения, вы можете скопировать ее содержимое на сервер.

person mirac    schedule 27.01.2021

deps.json и runtimeconfig.json также должны быть скопированы в каталог, в котором вызывается .dll. Без этих файлов вы столкнетесь с этой ошибкой.

Если вы делаете копии после сборки, обязательно включите эти файлы.

person David Hunsicker    schedule 30.05.2018
comment
Я пытаюсь запустить восстановление paket.exe на microsoft/ dotnet:2.1-sdk-alpine — нет project.json. Какие-либо предложения? - person mbx; 22.10.2018