monoc#获取应用程序路径

本文关键字:路径 应用程序 获取 monoc# | 更新日期: 2023-09-27 17:58:23

我正在寻找我的应用程序的目录,它似乎与常规c#不同?

Path.GetDirectoryName(Application.ExecutablePath)中所示,不起作用。

monoc#获取应用程序路径

是一个正确的跨平台解决方案

Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)

注意,Environment.CurrentDirectoryAssembly.GetExecutingAssembly().Location(更确切地说,是其目录)在语义上都是错误的,尽管它们通常(但并不总是)是同一目录:

  • 当前目录是"工作目录",可以在任何时间点更改,就像shell中的"cd"命令一样
  • 执行程序集是包含当前正在运行的代码的程序集,它可能与实际应用程序位于同一目录中,也可能不在同一目录下。例如,如果你的应用程序是"A.exe",它有一个依赖项"B.dll",而B.dll中的一些代码调用Assembly.GetExecutingAssembly(),它将导致"/path/to/B.dll"

尝试Assembly.GetExecutingAssembly().Location