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



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

此错误的原因是什么?

请检查应用程序文件夹的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"文件夹,您可以将其包含复制到服务器。

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

如果要执行生成后副本,请确保包含这些文件。

当我使用不正确的运行时编译 dll 时,我收到此错误。

linux-arm64系统上运行linux-x64二进制文件将显示此错误,反之亦然。

如果运行的解决方案具有多个项目,请检查以确保设置了正确的启动项目。

相关内容

最新更新