J'essaie de lire appsettings.json et je ne veux pas utiliser DI. Je souhaite simplement accéder au fichier. Je suis simple configuration comme suggéré par MS.Impossible de lire appsettings.json sans DI en raison de l'absence de Configuration Builder
using System.IO;
using Microsoft.Extensions.Configuration;
class Program
{
public static IConfigurationRoot Configuration { get; set; }
static void Main(string[] args)
{
IConfigurationBuilder builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
}
}
Les classes obtiennent de point fort rouge au vert quand je précise la référence à Microsoft.Extensions.Configuration
sauf un - la création de l'instance Configuration Builder
. Il produit l'erreur suivante.
Erreur CS0246 Le type ou le nom namespace « ConfigurationBuilder » n'a pas pu être trouvée (vous manque une directive à l'aide ou une référence d'assemblage?)
Tous les exemples que j'ai trouvé sont mis en place la de la même façon. Même le docs for Configuration Builder
dit qu'il est supopsed d'être là. Je ne sais pas comment procéder. J'utilise .NET Core 2.0 si c'est important. Procédé
c'est bizarre, j'ai créé la même application de console et ce n'est pas un problème. Vous créez une nouvelle application de console .net Core 2.0 vide? – kloarubeek
Avez-vous ajouté le bon paquet? Sans le paquetage Meta ASP.NET Core, vous devez vous-même référencer le contenu. P.S. question est totalement sans rapport avec DI, comme la configuration ne l'a jamais exigé en premier lieu et le nouveau mot-clé a été utilisé, même dans ASP: NET Core – Tseng
@kloarubeek Je ne peux pas l'expliquer, ni l'un ni l'autre. Pouvez-vous confirmer que le paquet 'Microsoft.Extensions.Configuration.Json' est installé? Je suis curieux parce que quand je l'ai installé ([comme ceci] (https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/)), comme suggéré dans la réponse ci-dessous, je l'ai eu pour travailler . Veuillez vérifier le * Dependecies/NuGet * dans * Solution Explorer * (il n'apparaît pas dans mon * Explorateur de solutions NuGet * pour une raison quelconque). –