【问题标题】:Set current working directory on exit (.NET Core)在退出时设置当前工作目录(.NET Core)
【发布时间】:2019-04-17 21:06:10
【问题描述】:

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

$ 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

【问题讨论】:

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


【解决方案1】:

你不能。

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

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

这就是为什么cd 是一个内置的shell。如果是外部程序,则无法更改 shell/终端的工作目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多