不同的可执行位置
本文关键字:位置 可执行 | 更新日期: 2023-09-27 18:11:23
如果我想获得可执行位置
:Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Directory.GetCurrentDirectory();
System.Environment.CurrentDirectory;
有什么不同吗?是否指向不同的位置?
Assembly.GetExecutingAssembly () .Location
获取执行程序集的位置。在ASP中。NET应用程序,这可能会因系统文件夹中的影子复制程序集而有所不同。当前正在执行的程序集的位置可能与宿主进程的位置不同。
Directory.GetCurrentDirectory ();
获取托管进程的当前工作目录。在大多数情况下,这将是可执行文件所在的目录,但可以使用SetCurrentDirectory方法以编程方式修改此工作目录。
System.Environment.CurrentDirectory;
主机进程启动的目录。
在桌面应用程序中,所有的东西都在同一个文件夹中,3可能会返回相同的值
-
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
返回指定程序集的文件夹。 根据MSDN, Directory.GetCurrentDirectory()
获得系统当前目录,不带反斜杠。Directory.GetCurrentDirectory ()System.Environment.CurrentDirectory
获取或设置系统当前目录。
当前目录是工作目录,它不一定与包含程序集的目录相同。
例如,如果你在命令行中,在根目录C:'驱动器中执行"SomeFolder'MyProgram.exe"命令,当前目录仍然是C:'