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.Configuration
de 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' AddJsonFile
extension.
Microsoft.Extensions.Configuration.Json
a 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