在运行dotnet控制台应用程序期间,我遇到了此错误。我从一个将.dll和.pdb文件复制到其中的目录中运行它。
此错误的原因是什么?
答案 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.json
和runtimeconfig.json
也必须复制到调用.dll的目录中。如果没有这些文件,您将遇到此错误。
如果您正在制作构建后的副本,请确保包含这些文件。