Comment faire pour lire des valeurs de config.json dans l'Application de la Console
Je viens d'installer ASP.NET 5 et a créé une Application Console dans Visual Studio. J'ai ajouté un fichier de config.json à la racine du dossier du projet.
Il ressemble à ceci:
{
"Data": {
"TargetFolderLocations": {
"TestFolder1": "Some path",
"TestFolder2": "Another path"
}
}
}
Mon Programme.cs ressemble à ceci
public void Main(string[] args)
{
var configurationBuilder = new ConfigurationBuilder(Environment.CurrentDirectory)
.AddJsonFile("config.json")
.AddEnvironmentVariables();
Configuration = configurationBuilder.Build();
//Doesn't work...null all the time
var test = Configuration.Get("Data:TargetFolderLocations");
Console.ReadLine();
}
Comment puis-je accéder à la TargetFolderLocations clé avec code?
Est-il
Ne fonctionne pas avec .TargetFolderLocations soit malheureusement...
J'ai réussi à le résoudre, s'il vous plaît voir ma réponse 🙂
Data.TargetFolderLocations
?Ne fonctionne pas avec .TargetFolderLocations soit malheureusement...
J'ai réussi à le résoudre, s'il vous plaît voir ma réponse 🙂
OriginalL'auteur JOSEFtw | 2015-08-07
Vous devez vous connecter pour publier un commentaire.
Avoir un type comme suit:
Vous pouvez ensuite utiliser la
ConfigurationBinder
à se lier automatiquement les sections de configuration des types comme ci-dessus. Exemple:OriginalL'auteur Kiran Challa
J'ai réussi à le résoudre comme ceci:
OriginalL'auteur JOSEFtw
La façon dont vous avez formulé votre question, votre
config.json
fichier est à la racine du projet, mais vous êtes à la recherche dans le répertoire exécutable au moment de l'exécution. En supposant que vous êtes en train de faire cela à partir de Visual Studio, et en supposant que vous n'êtes pas copier le fichier de configuration au moment de la construction,Environment.CurrentDirectory
est probablementbin\Debug
, et le fichier n'existe pas.Vous pouvez définir les propriétés de
config.json
àCopy always
à partir de l'Explorateur de solutions, afin de s'assurer que le fichier.je vous remercie. Enfin reçu ma console application en cours d'exécution.
OriginalL'auteur Joe Enos
Vous pouvez utiliser JavascriptSerializer (espace de noms: System.Web.L'Extension) pour parser json dans le dictionnaire et trouver une valeur basée sur sa clé de json. Vous code devient:
Si vous parcourez le dictionnaire, vous pouvez voir toutes les clés et les valeurs à l'aide de la dic.
* Juste une solution de rechange *
OriginalL'auteur Mirza Ali Baig