我想获得我的exe的当前工作目录。 Directory.GetCurrentDirectory()
部署应用程序时不返回exe的工作目录。在发布模式下没有获取当前工作目录?
获取当前工作目录的方式是什么?
我想获得我的exe的当前工作目录。 Directory.GetCurrentDirectory()
部署应用程序时不返回exe的工作目录。在发布模式下没有获取当前工作目录?
获取当前工作目录的方式是什么?
嗨
尝试AppDomain.CurrentDomain.BaseDirectory
+1,不知道该财产存在。 – jgauffin 2011-05-10 10:23:58
@jgauffin:我曾经使用Environment.CurrentDirectory来获取应用程序的工作目录,它似乎在开发环境中工作,但是当我创建一个窗口服务并且调用它时,'Environment.CurrentDirectory'返回了system32的路径因此,为什么开始使用我认为安全的AppDomain.CurrentDomain.BaseDirectory。 – wizzardz 2011-05-10 10:37:31
'Environment.CurrentDirectory'是应用程序启动的目录。所有应用程序都可以从任何地方启动。 – jgauffin 2011-05-10 10:39:38
尝试:
var path = Environment.CurrentDirectory
或:
var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
第一个与OP正在尝试的内容相同,请参阅此处:http://stackoverflow.com/questions/1164756/what-is-the-difference-between-environment-currentdirectory-and-directory-getcurr – 2011-05-10 10:19:40
@ Daniel Hilgarth:谢谢,我不知道。 – jgauffin 2011-05-10 10:22:08
我怀疑的功能被破坏。所以工作目录*不是你所期望的,无论出于何种原因。你如何部署应用程序,它是如何启动的,你期望的目录*当前目录是什么目录,以及它实际上是什么目录*? – 2011-05-10 10:19:40