Я недавно обновил приложение до dotnet core 3 и начал использовать флаг PublishSingleFile во время процесса сборки.С этими двумя изменениями изменился способ определения пути к исполняемому файлу.Теперь вместо того, чтобы получить путь к исполняемому файлу, я перенаправляюсь в случайный каталог в /var/tmp/.net/
, где я обычно получаю /opt/appdir/
.
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
Редактировать: так что это похоже на случайныйdir, который он выплевывает, фактически указывает на распакованную версию моего приложения, которая не содержит жизненно важных ресурсов, которые находятся в другом каталоге.