找不到执行应用程序所需的库“libhostpolicy.so”

时间:2018-05-30 13:26:18

标签: .net-core .net-core-2.0

在运行dotnet控制台应用程序期间,我遇到了此错误。我从一个将.dll和.pdb文件复制到其中的目录中运行它。

此错误的原因是什么?

2 个答案:

答案 0 :(得分:1)

请检查应用程序文件夹的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

它会在您的解决方案目录中创建“out”文件夹,您可以将其包含的内容复制到服务器。

答案 1 :(得分:-1)

deps.jsonruntimeconfig.json也必须复制到调用.dll的目录中。如果没有这些文件,您将遇到此错误。

如果您正在制作构建后的副本,请确保包含这些文件。