I build a dotnet 3.1 application that needs a configuration file (appSettings.json) in its running directory.
With a simple build, it behaves well, all these paths correspond to the directory where the executable is:
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
Path.GetDirectoryName(Assembly.GetCallingAssembly().Location)
AppDomain.CurrentDomain.BaseDirectory
- Goes to C:
eposMyAppinReleaseMyApp.exe
Once published with dotnet publish
, the previous paths goes to :
- C:UsersMeAppDataLocalTemp.netMyAppvbsjwe3q.y2wMyApp.exe
Instead of the directory where the app is launched : C:
eposMyAppinReleasewin-x86publish
Is there a way to keep / retrieve the right path with a published app?
By "right", I mean the directory where the executable is deployed and not a temp directory.
Heres is my publish command:
dotnet publish -c Release -r win-x86 --self-contained false -p:PublishReadyToRun=true -p:PublishSingleFile=true MyApp.csproj
question from:
https://stackoverflow.com/questions/65917934/dotnet-publish-sets-assembly-path-in-temp-directory-instead-of-exe-directory 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…