【问题标题】:Getting path of working directory [duplicate]获取工作目录的路径[重复]
【发布时间】:2014-06-21 01:40:04
【问题描述】:

我需要从C# 中的代码访问工作目录MSVS 2013 像:

C:\SomePath\Visual\NameOfTheProject\

java我们可以访问它System.getProperty("user.dir")

C# 是否有等价物?

@更新

问题是我需要在文件夹X 中搜索某些接口的实现。应用程序将在不同的机器上执行,所以我应该有一个路径,它将始终将我导航到文件夹 X

@update2

我需要在我执行应用程序的文件夹中查找名为 X 的文件夹 dlls(所以我的程序集)。

【问题讨论】:

  • 你想要你的可执行文件的当前目录吗?
  • 好吧,我需要在我的目录中搜索 dll 文件中某些接口的实现。我认为当前目录会很好。
  • 关于更新:文件夹X是什么?它是安装应用程序的文件夹吗?还是调用它的目录?
  • @AndersAbel 在问什么,您是指应用程序所在的文件夹(实际的 .exe),还是打开它的位置(例如:桌面上的快捷方式)

标签: c#


【解决方案1】:

Directory.GetCurrentDirectory() 将返回进程的当前工作目录。这相当于 Java 中的 "user.dir" 属性。

要获取exe的目录(或者实际上是入口程序集,通常是exe),使用Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)

【讨论】:

  • 虽然这个答案本身是正确的,但我不相信这就是 OP 正在寻找的东西,至少在对这是什么的解释性评论之后不再如此。
  • 检查。我需要执行应用程序的路径。
  • 你是对的。我查看了"user.dir" 属性,以确保我提供了完全相同的内容,但这可能不是 OP 想要的。
【解决方案2】:

要获取可执行文件的绝对路径(而不是执行文件的位置,如果是通过快捷方式),您可以使用:

System.IO.Path.GetDirectoryName(Application.ExecutablePath);(需要使用 Windows 窗体)

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

两者都将返回您的可执行文件所在的目录。

要获取可执行文件目录中另一个文件夹的路径,可以使用以下命令:

Path.Combine(path, "X");

path 是上述任何示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 2020-03-19
    • 2017-10-11
    • 2012-04-12
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多