Comment puis-je définir le chemin de base dans ConfigurationBuilder dans Core 2.0.
J'ai cherché sur Google et j'ai trouvé cette question, cette de la documentation de Microsoft, et le 2.0 en ligne, mais il semble qu'ils utilisent une version de Microsoft.Extension.Configuration
de 1.0.0-beta8 .
Je veux lire appsettings.json
. Existe-t-il une nouvelle façon de procéder 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"
}
}
UPDATE : En plus de l'ajout de Microsoft.Extensions.Configuration.FileExtensions comme indiqué ci-dessous par Set (jeu de mots) J'ai également dû ajouter Microsoft.Extensions.Configuration.Json pour obtenir le AddJsonFile
extension.
3 votes
L'UPDATE a fait le travail !
6 votes
Microsoft.Extensions.Configuration.Json
a une dépendance à l'égard deMicrosoft.Extensions.Configuration.FileExtensions
Vous n'avez donc besoin que du premier.0 votes
Chers amis, veuillez noter que le
AddJsonFile("appsettings.json")
n'est pas au courant de votre environnement d'hébergement ! Utiliser.AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")
à la place. :D