Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
325 views
in Technique[技术] by (71.8m points)

c# - dotnet publish sets Assembly path in temp directory instead of exe directory

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...