2015-12-14 14 views

risposta

0

io non sono sicuro di ciò che c'è di sbagliato con System.ConfigurationManager.AppSettings [MSDN] come funziona ancora a 4,5 & 4,6

Ma penso che quello che stai chiedendo è System.Configuration.AppSettingsReader.GetValue() [MSDN]

+0

Sotto 'References', ho aggiunto' System.Configuration (1.0.0) 'per DNX 4.5.1. Tuttavia, ottengo ancora "Il tipo o spazio dei nomi 'Configurazione' non esiste nello spazio dei nomi 'Sistema' (ti manca un assembly o un riferimento?)" –

7

Aggiungere un file json al vostro principale del progetto dir: config.json

{ 
    "AppSettings": { 
     "TestKey" : "TestValue" 
    } 
} 

Creare un nuovo class per config deserializzazione:

public class AppSettings 
{ 
    public string TestKey { get; set; } 
} 

In Startup.cs:

public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) 
{ 
     // Setup configuration sources. 
     var builder = new ConfigurationBuilder() 
       .SetBasePath(appEnv.ApplicationBasePath) 
       .AddJsonFile("config.json") 
       .AddJsonFile($"config.{env.EnvironmentName}.json", true) 
       .AddEnvironmentVariables(); 
     Configuration = builder.Build(); 
} 

public IConfigurationRoot Configuration { get; set; } 

public void ConfigureServices(IServiceCollection services) 
{ 
     var builder = services.AddMvc(); 

     services.Configure<AppSettings>(Configuration.GetSection("AppSettings")); 
} 

Ottenere le opzioni nel tuo controller:

public HomeController(IOptions<AppSettings> settings) 
{ 
    var value = settings.Value.TestKey; 
} 
0

È possibile ottenere valori utilizzando [ "impostazione in mano"] sintassi:

IConfiguration _configuration; 
... 
var setting = _configuration["SomeKey"]; 

Oppure puoi analizzare la sezione di configurazione per un oggetto personalizzato come segue:

IConfiguration configuration; 
... 
var myCustomObject = configuration.GetSection("SomeSection").Get<MyCustomObject>(); 

Prestare attenzione - nel secondo approccio si dovrebbe fare riferimento ai seguenti pacchetti MS Nugget:

  1. Microsoft.Extensions.Configuration
  2. Microsoft.Extensions.Configuration .Builder
  3. Microsoft.Extensions.Configuration.Json
Problemi correlati