C#获取程序所在的目录

有的时候,我们需要读取程序所在目录下的一些文件,最常见的写法是直接通过".xxx.file"之类的相对路径来获取文件。虽然这种写法大多数的时候能正确工作,但却又一个很大的隐患:程序的相对路径的根目录是工作目录,而工作目录并不一定是程序所在的目录,例如,我们在调试的时候就可以很方便的修改程序的工作目录:

那么,我们该如何获取程序所在的目录呢? 我以前常用的一个方法是通过Application.StartupPath获取,不过这个类是在System.Windows.Forms.dll程序集下的,默认只有WinForm程序才能使用,非WinForm程序添加这个程序集的话感觉有些别扭。

今天发现还有另外一个属性也可以获取程序所在的目录:AppDomain.CurrentDomain.BaseDirectory它是存在于mscorlib.dll中,只要是.Net程序都能使用的,以后就直接用这个好了。

原文地址:https://www.cnblogs.com/TianFang/p/3174235.html