.NET下获取应用程序目录的一些方法

  今天在Console Application下搞了一个小功能,期间需要获取当前应用程序的根目录,试了很多方式,都不能直接获取到,没有像Server.MapPath()这类的方法来方便地使用。

  下面列举出一些获取一般目录的方法:  

 1 // 获取程序的基目录,结尾包含\
2 var a = AppDomain.CurrentDomain.BaseDirectory;
3 Console.WriteLine(a);
4 // 获取和设置包括该应用程序的目录的名称,与上一个一样
5 var b = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
6 Console.WriteLine(b);
7
8 // 获取启动了应用程序的可执行文件的路径及文件名
9 var c = Application.ExecutablePath;
10 Console.WriteLine(c);
11 // 获取模块的完整路径,与上一个一样
12 var d = Process.GetCurrentProcess().MainModule.FileName;
13 Console.WriteLine(d);
14
15 // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录
16 var e = Environment.CurrentDirectory;
17 Console.WriteLine(e);
18 // 获取应用程序的当前工作目录
19 var f = Directory.GetCurrentDirectory();
20 Console.WriteLine(f);
21 // 获取启动了应用程序的可执行文件的路径
22 var g = Application.StartupPath;
23 Console.WriteLine(g);

  以上的方法获取的都是\bin\Debug之类的目录。

  如果要获取根目录,则可使用Directory下的方法:

1 //获取应用程序根目录
2 var p = Directory.GetParent(Environment.CurrentDirectory).Parent.FullName;
3 Console.WriteLine(p);

  我还没有找到一个更简单、方便的方法来获取根目录,园子里有知道的,可以讲下,谢了!

  虽然这没啥深度,但做个记录,可方便大家查询……

转载于:https://www.cnblogs.com/nh022/archive/2012/03/15/2398803.html

你可能感兴趣的:(.NET下获取应用程序目录的一些方法)