代码改变世界

.Net 中 获取当前应用程序启动目录的几个方法

2010-12-21 13:43  爱车龟速兔  阅读(684)  评论(0编辑  收藏  举报

AppDomain.CurrentDomain.BaseDirectory
代表的是程序集所在的目录,它具有读取和写入的属性。

AppDomainSetup.ApplicationBase
代表包含应用程序的目录位置,它具有读取和写入的属性。

Environment.CurrentDirectory
获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
但是用了组件里面的打开,保存,选择路径,就出现了问题。
后来进过尝试发现,打开和保存会修改当前程序目录,也就是修改Environment.CurrentDirectory的值,但是folderBrowserDialog组件(用来选择路径)不会改变当前路径Environment.CurrentDirectory的值。

Application.StartupPath
代表应用程序启动的当前目录,Forms程序一般是程序的exe文件所在位置, 需要注意的是,这个是代表程序启动的目录,不是程序所在的目录,在 windows service中是在\windows\system32目录下的.

 

关于获取当前应用程序集的位置,和名称还有一种方式就是直接使用反射对当前应用程序集进行查看.

Path.GetDirectoryName(System.Reflection.Assembly.G etExecutingAssembly().GetName().CodeBase).Substring(6);

这个也可以使用AppDomain.CurrentDomain.BaseDirectory 来获取的