Во время запуска консольного приложения dotnet я столкнулся с этой ошибкой. Я запустил его из каталога, в который были скопированы файлы .dll и .pdb.
В чем причина этой ошибки?
Во время запуска консольного приложения 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
И он создаст папку в каталоге вашего решения, вы можете скопировать ее содержимое на сервер.
deps.json
и runtimeconfig.json
также должны быть скопированы в каталог, в котором вызывается .dll. Без этих файлов вы столкнетесь с этой ошибкой.
Если вы делаете копии после сборки, обязательно включите эти файлы.