//獲取模塊的完整路徑。 string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; //獲取和設置當前目錄(該進程從中啟動的目錄)的完全限定目錄 string path2 = System.Environment.CurrentDirectory; //獲取應用程序的當前工作目錄 string path3 = System.IO.Directory.GetCurrentDirectory(); //獲取程序的基目錄 string path4 = System.AppDomain.CurrentDomain.BaseDirectory; //獲取和設置包括該應用程序的目錄的名稱 string path5 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase; //獲取啟動了應用程序的可執行文件的路徑 string path6 = System.Windows.Forms.Application.StartupPath; //獲取啟動了應用程序的可執行文件的路徑及文件名 string path7 = System.Windows.Forms.Application.ExecutablePath;
string path8 = System.Reflection.Assembly.GetExecutingAssembly().Location; string path9 = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
前7種獲取的都是exe所在目錄,后兩種獲取的是dll所在目錄
public static string AssemblyDirectory { get { string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); return Path.GetDirectoryName(path); } }