.NET Core GetCurrentDirectory返回父目录

时间:2017-03-11 02:47:24

标签: .net configuration asp.net-core .net-core

我的项目如下:

ProjectRoot文件夹

  • Web API项目
  • 控制台应用项目
  • 共享类库

我正在尝试使用Directory.GetCurrentDirectory()从我的Console App项目中的appsettings.json文件夹中获取,但是在运行调试会话时,这将返回ProjectRoot文件夹,而不是Console App文件夹。

有谁知道这是为什么?或者从我的控制台应用程序文件夹中获取appsettings的正确方法?

我的功能如下:

private static IConfigurationRoot GetConfiguration(){
        return new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false)
        .Build();
    }

//编辑:

问题2)值得注意的是,我的web API项目通过依赖注入获取IHostingEnvironment变量,并且我能够成功使用env.ContentRootPath(它返回web API文件夹的路径,而不是父文件夹)。如何在我的控制台应用程序中使用ContentRootPath?

1 个答案:

答案 0 :(得分:2)

好的,所以我找到了解决这个问题的方法。

我的launch.json文件,它是在根文件夹/ .VSCODE

中生成的

我需要从

更改“cwd”属性
${workspaceRoot}

${workspaceRoot}/ChildFolder