Comment puis-je définir le chemin de base dans ConfigurationBuilder dans Core 2.0.
J'ai googlé et trouvé cette question, ce à partir de documents Microsoft et les 2.0 docs en ligne , mais ils semblent utiliser une version Microsoft.Extension.Configurationde 1.0.0-beta8 .
Je veux lire appsettings.json. Existe-t-il une nouvelle façon de faire cela dans 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"
}
}
MISE À JOUR:
En plus d'ajouter Microsoft.Extensions.Configuration.FileExtensions comme indiqué ci-dessous par Set, j'avais également besoin d'ajouter Microsoft.Extensions.Configuration.Json pour obtenir l' AddJsonFileextension.
Microsoft.Extensions.Configuration.Jsona une dépendance sur Microsoft.Extensions.Configuration.FileExtensions, donc vous avez juste besoin du premier.
AddJsonFile("appsettings.json")méthode ne connaît pas votre environnement d'hébergement! Utilisez .AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")plutôt. : D