mono c#获取应用程序路径

mono c#获取应用程序路径,c#,mono,C#,Mono,我正在寻找我的应用程序的目录,它似乎不同于常规的c# 与路径相同。GetDirectoryName(Application.ExecutablePath)不起作用。请尝试Assembly.GetExecutiveGassembly()。位置一个正确的跨平台解决方案是 Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) 请注意,Environment.CurrentDirectory和Assembly.getExecutionG

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


与路径相同。GetDirectoryName(Application.ExecutablePath)不起作用。

请尝试
Assembly.GetExecutiveGassembly()。位置

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

Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)
请注意,
Environment.CurrentDirectory
Assembly.getExecutionGassembly().Location
(更确切地说,其目录)在语义上都是错误的,尽管它们通常(但不总是)是同一个目录:

  • 当前目录是“工作目录”,可以在任何时间点更改,就像shell中的“cd”命令一样
  • 正在执行的程序集是包含当前正在运行的代码的程序集,它可能与实际应用程序位于同一目录中,也可能不在同一目录中。例如,如果您的应用程序是具有依赖项“B.dll”的“A.exe”,并且B.dll中的某些代码调用了
    Assembly.getExecutionGassembly()
    ,则会产生“/path/to/B.dll”

组装没有给我任何东西,我应该包括什么才能访问组装?