mono c#获取应用程序路径
问题描述:
我正在寻找获取我的应用程序的目录,它似乎不同于正规的c#?mono c#获取应用程序路径
如Path.GetDirectoryName(Application.ExecutablePath)
不起作用。
答
一个正确的和跨平台的解决方案将是
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)
注意两个Environment.CurrentDirectory
和Assembly.GetExecutingAssembly().Location
(更确切地说,其目录)在语义上是错误的,即使他们往往是 - 但并不总是 - 同一个目录:
- 的当前目录是“工作目录”,可以随时更改,例如shell中的“cd”命令。
-
正在执行程序集是包含当前正在运行的代码的程序集,可能与实际应用程序在同一个目录中,也可能不在同一个目录中。例如,如果您的应用程序是“A.exe”,它具有依赖项“B.dll”,并且某些代码在B.dll中调用
Assembly.GetExecutingAssembly()
,则会导致“/path/to/B.dll”。
答
尝试Assembly.GetExecutingAssembly().Location
大会不给我任何东西,我应该包括什么让我获得组装? – flyboarder 2011-06-05 21:54:30
'System.Reflection' – 2011-06-05 21:55:49
嗯好生病给我一个尝试谢谢! – flyboarder 2011-06-05 21:58:28