net leer existe example esta declarado contexto app actual c# configuration configuration-files asp.net-core config.json

c# - leer - ¿Por qué Visual Studio me dice que el método AddJsonFile() no está definido?



configurationmanager.appsettings c# (4)

Estoy desarrollando un proyecto ASP.NET 5 WebAPI usando VS Ultimate 2015 Preview. Estoy tratando de configurar la aplicación de esta manera (los números de línea son solo guías):

1 using Microsoft.Framework.ConfigurationModel; 2 3 public IConfiguration Configuration { get; private set; } 4 5 public Startup() 6 { 7 Configuration = new Configuration() 8 .AddJsonFile("config.json") 9 .AddEnvironmentVariables(); 10 }

La línea 8 me da un error: ''Configuración'' no contiene una definición para ''AddJsonFile'' ...

¿Qué está mal?



En caso de que alguien más haya tenido problemas con esto, Microsoft realizó cambios importantes en esta parte del marco el 16 de agosto de 2015. Debe importar las versiones correctas de las dependencias y cambiar a la nueva forma de construir la configuración.

Mi configuración incluye:

{ "webroot": "wwwroot", "version": "1.0.0-*", "dependencies": { "Microsoft.Framework.Runtime": "1.0.0-*", "Microsoft.AspNet.Server.IIS": "1.0.0-beta7", "Microsoft.AspNet.Diagnostics": "1.0.0-beta7", "Microsoft.AspNet.Mvc": "6.0.0-beta7", "Microsoft.Framework.Configuration": "1.0.0-beta7", "Microsoft.Framework.Configuration.Json": "1.0.0-*" }, ... }

Este código, inspirado en esta pregunta, podría ayudarlo de alguna manera:

using System; using Microsoft.AspNet.Builder; using Microsoft.Framework.DependencyInjection; using Messenger.Services; using Microsoft.Framework.Configuration; using Microsoft.Dnx.Runtime; using Microsoft.AspNet.Hosting; namespace Messenger { public class Startup { public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) { var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath) .AddJsonFile("config.json") .AddEnvironmentVariables(); Configuration = configurationBuilder.Build(); } public IConfiguration Configuration { get; set; } } ... }

Espero eso ayude.


En project.json deberás agregarlo dentro de las dependencias

dependencies { "Microsoft.Extensions.Configuration.Json": "1.0.0" }


Sé que esto es un poco viejo, pero me encontré con este problema al intentar construir mi primer proyecto en blanco Asp.net core 1.0. Para utilizar el método AddJsonFile, debe agregar una referencia a Microsoft.Extensions.Configuration.Json a su proyecto a través de Nuget.

Para instalar la referencia, ejecute el siguiente comando en la consola del administrador de paquetes:

PM> Install-Package Microsoft.Extensions.Configuration.Json