不同的可执行位置

MoS*_*She 5 c# directory location

如果我想获取可执行文件位置,则此命令之间有何不同:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

Directory.GetCurrentDirectory();

System.Environment.CurrentDirectory;
Run Code Online (Sandbox Code Playgroud)

有什么不同吗?它指向不同的位置?

Dar*_*rov 5

Assembly.GetExecutingAssembly()位置.

获取正在执行的程序集的位置.在ASP.NET应用程序中,这可能因系统文件夹中的卷影复制程序集而异.当前正在执行的程序集的位置可能与宿主进程的位置不同.

Directory.GetCurrentDirectory();

获取托管进程的当前工作目录.在大多数情况下,这将是可执行文件所在的目录,但可以使用SetCurrentDirectory方法以编程方式修改此工作目录.

System.Environment.CurrentDirectory;

从中启动托管进程的目录.


在桌面应用程序中,您将所有内容放在同一文件夹中,3可能会返回相同的内容.