Come posso impostare il percorso di base in ConfigurationBuilder in Core 2.0.
Ho cercato su Google e ho trovato questa domanda, questa da documenti Microsoft e 2.0 in linea, ma sembra che stiano usando una versione Microsoft.Extension.Configuration
da 1.0.0-beta8 .
Voglio leggere appsettings.json
. Esiste un nuovo modo per farlo in Core 2.0?
using System;
using System.IO;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp2
{
class Program
{
public static IConfigurationRoot Configuration { get; set; }
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) // <== compile failing here
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
Console.WriteLine(Configuration.GetConnectionString("con"));
Console.WriteLine("Press a key...");
Console.ReadKey();
}
}
}
appsetting.json
{
"ConnectionStrings": {
"con": "connection string"
}
}
AGGIORNAMENTO:
Oltre ad aggiungere Microsoft.Extensions.Configuration.FileExtensions come indicato di seguito da Set, ho anche bisogno di aggiungere Microsoft.Extensions.Configuration.Json per ottenere l' AddJsonFile
estensione.
Microsoft.Extensions.Configuration.Json
ha una dipendenza Microsoft.Extensions.Configuration.FileExtensions
, quindi hai solo bisogno del primo.
AddJsonFile("appsettings.json")
metodo non è a conoscenza del vostro ambiente di hosting! Usa .AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")
invece. : D