我最近将一个应用程序升级到 dotnet core 3 并在构建过程中开始使用 PublishSingleFile 标志。通过这两个更改,找到可执行路径的方式发生了变化。现在,我没有得到可执行文件所在的路径,而是被重定向到一个随机目录/var/tmp/.net/
,就像我以前获取/opt/appdir/
.
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
编辑:所以看起来它吐出的随机目录实际上指向我的应用程序的未打包版本,它不包含其他目录中的重要资源。