【发布时间】:2023-01-05 03:26:41
【问题描述】:
有没有办法获取当前 exe 或 dll 的位置,无论我们是从独立的 exe 运行还是从 dotnet 调用?
Environment.ProcessPath 适用于单个文件 exe,但如果使用“dotnet <program.dll>”调用程序,则它会返回安装 dotnet 运行时的文件夹。
System.Reflection.Assembly.GetEntryAssembly().Location 适用于从 dotnet 调用,但不适用于单个文件 exe。
有没有对两者都适用的方法?我能否检测到我处于一种情况或另一种情况并基于此调用正确的方法?
【问题讨论】:
-
“获取位置”:
AppContext.BaseDirectory返回的不是这个吗?