2015-10-16 5 views
12

ich die Anwendung Basispfad für die ConfigurationBuilder so spezifizieren verwendet:Geben Sie den Anwendungsbasispfad in Configuration in beta8

public Startup(IApplicationEnvironment appEnv) 
{ 
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath) 
     .AddJsonFile("config.json") 
     .AddEnvironmentVariables(); 

    Configuration = configurationBuilder.Build(); 
} 

Doch ab beta8, wird der Konstruktor von ConfigurationBuilder keine Anwendung Basispfad nehmen Argument mehr und es löst jetzt eine Ausnahme aus.

Wie kann ich den Basispfad angeben?

Antwort

14

Wenn wir die source code of ConfigurationBuilder betrachten, können wir sehen, dass der Konstruktor nicht mehr eine Zeichenfolge akzeptiert, die die Anwendung Basispfad. Statt, müssen wir die SetBasePath() extension method auf der IConfigurationBuilder-Schnittstelle verwenden, um es zu spezifizieren:

public Startup(IApplicationEnvironment appEnv) 
{ 
    var configurationBuilder = new ConfigurationBuilder() 
     .SetBasePath(appEnv.ApplicationBasePath) 
     .AddJsonFile("config.json") 
     .AddEnvironmentVariables(); 

    Configuration = configurationBuilder.Build(); 
} 

Die besondere commit kann here finden.

+0

Sorry, wenn die Frage ist sehr spät, aber wie fügen Sie den IApplicationEnvironment? Ich suche jetzt Stunden und kann es nicht arbeiten lassen. Ich bin ziemlich neu in C#. Wenn ich die IApplicationEnvironment injizieren möchte, heißt es, dass es nicht gefunden werden konnte? – Anokrize

+0

Neben verfolge ich ein Tutorial. Er wird mit dem „Microsoft.Framework.Configuration“ und wenn ich das in meinem Projekt gehören Ich kann die „.AddEnviromentVariables()“ Methode nicht anwendbar. Dazu benötige ich "Microsoft.Extension.Configuration verwenden". Aber das erlaubt mir nicht, das IApplicationEnviroment zu benutzen ?? – Anokrize

+0

Welche Version verwenden Sie @Anokrize? RC1 oder RC2? Die 'IApplicationEnvironment' Klasse lebt im' Microsoft.Extensions.PlatformAbstractions' Namespace. –

Verwandte Themen