¿Cómo puedo establecer la ruta base en ConfigurationBuilder en Core 2.0?
He buscado en Google y encontró esta cuestión, este de documentos de Microsoft, y los 2.0 documentos en línea, pero parece que están usando una versión de Microsoft.Extension.Configuration
de 1.0.0-Beta8 .
Quiero leer appsettings.json
. ¿Hay una nueva forma de hacer esto en 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"
}
}
ACTUALIZACIÓN:
Además de agregar Microsoft.Extensions.Configuration.FileExtensions como se indica a continuación mediante Set , también necesitaba agregar Microsoft.Extensions.Configuration.Json para obtener la AddJsonFile
extensión.
Microsoft.Extensions.Configuration.Json
tiene una dependencia Microsoft.Extensions.Configuration.FileExtensions
, por lo que solo necesita el primero.
AddJsonFile("appsettings.json")
método no conoce su entorno de alojamiento. Usar en su .AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")
lugar. : D