2017-03-11 3 views
1

habe ich ein Projekt wie folgt:.NET-Core GetCurrentDirectory das übergeordnete Verzeichnis Rückkehr

projectroot Ordner

  • Web API-Projekt
  • Console App Projekt
  • Geteilt-Klassenbibliothek

Ich versuche, aus meinem Appsettings.json-Ordner in meinem Console-App-Projekt mithilfe von Direc zu holen tory.GetCurrentDirectory(), jedoch wird beim Ausführen einer Debugsitzung der Ordner "ProjectRoot" und nicht der Ordner "Console App" zurückgegeben.

Weiß jemand, warum das ist? Oder den richtigen Weg, um die Appsettings aus meinem Konsolen-App-Ordner zu holen?

Meine Funktion sieht wie folgt aus:

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

// EDIT:

Frage 2) Es ist auch erwähnenswert, meine Web-API-Projekt erhält die IHostingEnvironment Variable über Dependency Injection, und ich bin in der Lage Verwenden Sie env.ContentRootPath erfolgreich (wodurch der Pfad zum Web-API-Ordner und nicht zum übergeordneten Ordner zurückgegeben wird). Wie kann ich ContentRootPath in meiner Konsolen-App verwenden?

Antwort

2

OK, also habe ich den Weg gefunden, dies zu beheben.

meine launch.json-Datei, die im Stammordner/.VSCODE

generiert wurde ich brauchte das "CWD" Eigentum von

${workspaceRoot} 

zu ${workspaceRoot}/ChildFolder

zu ändern
Verwandte Themen