C# 获取当前路径 (exe、dll)

//获取模块的完整路径。
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);
}

}

复制代码; "复制代码")

原文地址:https://www.cnblogs.com/hzcya1995/p/13309202.html