“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”;
“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称;
“AppDomain.CurrentDomain.BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”;
“System.Threading.Thread.GetDomain().BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”;
“Environment.CurrentDirectory”:获取当前应用程序的路径,最后不包含“\”;
“System.IO.Directory.GetCurrentDirectory”:获取当前应用程序的路径,最后不包含“\”;
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //导入命名空间 using System.Diagnostics; using System.IO; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string str1 = Process.GetCurrentProcess().MainModule.FileName; //获得当前执行的exe的文件名。 string str2 = Environment.CurrentDirectory; //获取和设置当前目录的完全限定路径。 string str3 = Directory.GetCurrentDirectory(); //获取应用程序的当前工作目录。 string str4 = AppDomain.CurrentDomain.BaseDirectory; //获取基目录,它由程序集冲突解决程序用来探测程序集。 string str5 = Application.StartupPath; //获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。 string str6 = Application.ExecutablePath; //获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 string str7 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。 label1.Text = str1 + "\r\n" + str2 + "\r\n" + str3 + "\r\n" + str4 + "\r\n"; label1.Text += str5 + "\r\n" + str6 + "\r\n" + str7; } } }
结果:
应用:如果你写的DLL文件,想获得引用此DLL文件的网站根目录,可以用以下形式获得
public static string ApplicationBaseDirectory { get { return AppDomain.CurrentDomain.BaseDirectory; } }
参考:
http://blog.youkuaiyun.com/paulgerchen/archive/2009/12/31/5111557.aspx