2017-03-11 74 views
1

我有一個項目如下:.NET核心GetCurrentDirectory返回上級目錄

ProjectRoot文件夾

  • 的Web API項目
  • 控制檯應用程序項目
  • 共享類庫

我試圖從我的控制檯應用程序項目中的我的appsettings.json文件夾中使用Direc tory.GetCurrentDirectory(),但是在運行調試會話時,這是返回ProjectRoot文件夾,而不是Console App文件夾。

有誰知道這是爲什麼?或從我的控制檯應用程序文件夾獲取appsettings的正確方法?

我的功能看起來是這樣的:

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

//編輯:

問題2)這也是值得注意的是,我的網絡API項目通過依賴注入獲取IHostingEnvironment變量,我能成功使用env.ContentRootPath(它將路徑返回到Web API文件夾,而不是父文件夾)。我如何在我的控制檯應用程序中使用ContentRootPath?

回答

2

好吧,我找到了解決這個問題的方法。這是在根文件夾中生成/

我launch.json文件.VSCODE

我需要的 「CWD」 財產

${workspaceRoot} 

更改爲${workspaceRoot}/ChildFolder