Estou desenvolvendo um projeto ASP.NET 5 WebAPI usando o VS Ultimate 2015 Preview. Estou tentando configurar o aplicativo desta forma (os números das linhas são apenas guias):
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 }
A linha 8 me dá um erro: 'Configuração' não contém uma definição para 'AddJsonFile' ...
O que está errado?
Microsoft.Extensions.Configuration
eMicrosoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.Json
como uma dependência em seu arquivo project.json e, em seguida, adicionarusing Microsoft.Extensions.Configuration
sua classe Startup.cs .Eu sei que isso é um pouco antigo, mas acabei de encontrar esse problema ao tentar construir meu primeiro projeto em branco Asp.net core 1.0. Para usar o
AddJsonFile
método, você deve adicionar uma referência aMicrosoft.Extensions.Configuration.Json
ao seu projeto via Nuget .Para instalar a referência, execute o comando abaixo no console do gerenciador de pacotes:
fonte
Caso mais alguém esteja tendo problemas com isso, a Microsoft fez alterações significativas nesta parte da estrutura em 16 de agosto de 2015. Você deve importar as versões corretas das dependências e mudar para a nova forma de construir a configuração.
Minha configuração inclui:
{ "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 por esta pergunta, pode ajudar você de alguma forma:
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 que ajude.
fonte
Em project.json, você precisará adicioná-lo às dependências
dependencies { "Microsoft.Extensions.Configuration.Json": "1.0.0" }
fonte