退出时设置当前工作目录 (.NET Core)

Set current working directory on exit (.NET Core)

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

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

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

我查看了 Environment.CurrentDirectoryDirectory.SetCurrentDirectory,但正如 Directory.SetCurrentDirectory 的文档中所述,当应用程序退出时,它们的工作目录都会重置为原始状态。

When the application terminates, the working directory is restored to its original location (the directory where the process was started).

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

你不能。

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

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

这就是 cd 是内置 shell 的原因。如果是外部程序,则无法更改 shell/terminal.

的工作目录