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

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 来获取的

原文地址:https://www.cnblogs.com/dunnice/p/1912586.html