在出口(.NET Core)上设置当前工作目录

时间:2019-04-17 21:06:11

标签: c# .net-core working-directory

我想在我的应用程序运行后让我的应用程序设置当前工作目录,例如:

$ pwd
/my/directory
$ dotnet MyApp.dll
$ pwd
/another/place/somewhere

如何在C#中以跨平台方式使用.NET Core

我查看了Environment.CurrentDirectoryDirectory.SetCurrentDirectory,但对于Directory.SetCurrentDirectory的文档中所示,对于这两个目录,工作目录都在应用程序退出时重置为其原始状态。

  

应用程序终止时,工作目录将还原到其原始位置(启动进程的目录)。

https://docs.microsoft.com/en-us/dotnet/api/system.io.directory.setcurrentdirectory?view=netframework-4.7.2#remarks

1 个答案:

答案 0 :(得分:0)

你不能。

当前工作目录是每个进程的属性。

要在终端中进行更改,您需要找到一种方法来告诉终端进行此操作。终端启动的程序可以更改其自己的当前目录,但不能更改调用方终端的当前目录。

这就是cd是Shell内置的原因。如果是外部程序,则无法更改外壳程序/终端的工作目录。

相关问题