.NET核心GetCurrentDirectory返回父目录

.NET核心GetCurrentDirectory返回父目录,.net,configuration,asp.net-core,.net-core,.net,Configuration,Asp.net Core,.net Core,我有一个项目如下: 项目根文件夹 Web API项目 控制台应用程序项目 共享类库 我正在尝试使用Directory.GetCurrentDirectory()从控制台应用程序项目内的appsettings.json文件夹中获取,但是在运行调试会话时,这将返回ProjectRoot文件夹,而不是控制台应用程序文件夹 有人知道这是为什么吗?或者从我的console应用程序文件夹获取应用程序设置的正确方法 我的函数如下所示: private static IConfigurationRoot G

我有一个项目如下:

项目根文件夹

  • Web API项目
  • 控制台应用程序项目
  • 共享类库
我正在尝试使用Directory.GetCurrentDirectory()从控制台应用程序项目内的appsettings.json文件夹中获取,但是在运行调试会话时,这将返回ProjectRoot文件夹,而不是控制台应用程序文件夹

有人知道这是为什么吗?或者从我的console应用程序文件夹获取应用程序设置的正确方法

我的函数如下所示:

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?

好的,我找到了解决方法

在根文件夹/.VSCODE中生成的my launch.json文件

我需要将“cwd”属性从

${workspaceRoot}
${workspaceRoot}/ChildFolder