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.
c#
asp.net-core
configuration
.net-core
Padhraic
la source
la source
Microsoft.Extensions.Configuration.Json
a une dépendance surMicrosoft.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. : DRéponses:
La
SetBasePath
méthode d'extension est définie dans Config.FileExtensions .Vous devez ajouter une référence au package Microsoft.Extensions.Configuration.FileExtensions .
Pour résoudre
AddJsonFile
, ajoutez une référence auMicrosoft.Extensions.Configuration.Json
package.la source
Microsoft.Extensions.Configuration.Json
a une dépendance surMicrosoft.Extensions.Configuration.FileExtensions
, donc vous avez juste besoin du premier.Je développe une application console .NET Core 2 à l'aide de Visual Studio 2017 v15.5. Comme d'autres l'ont noté, après avoir ajouté Microsoft.Extensions.Configuration, j'avais besoin d'ajouter Microsoft.Extensions.Configuration.Json pour que l'
AddJsonFile()
appel fonctionne. Cela a également fait fonctionner l'SetBasePath()
appel; je n'ai donc pas eu besoin d'ajouter Configuration.FileExtensions . (Mon code se compile et s'exécute avec et sans lui.)J'ai également eu un appel à
AddEnvironmentVariables()
, pour lequel je devais ajouter Configuration.EnvironmentVariables. Mon code est le suivant:Fait intéressant, la seule
using
déclaration dont j'avais besoin étaitusing Microsoft.Extensions.Configuration
.la source
Configuration.EnvironmentVariables
==Microsoft.Extensions.Configuration.EnvironmentVariables
. Il y a plusieurs choses avec des noms similaires.Utilisez à la fois «Microsoft.Extensions.Configuration» et «Microsoft.Extensions.Configuration.Json», cela résoudra le problème.
https://www.nuget.org/packages/Microsoft.Extensions.Configuration/ https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/
Voici l'exemple 'ConnectionFactory'
la source