Я разрабатываю проект ASP.NET 5 WebAPI с использованием VS Ultimate 2015 Preview. Я пытаюсь настроить приложение таким образом (номера строк - это просто ориентиры):
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 }
Строка 8 дает мне ошибку: «Конфигурация» не содержит определения для «AddJsonFile» ...
Что не так?
Microsoft.Extensions.Configuration
иMicrosoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.Json
в качестве зависимости в файл project.json , а затем добавитьusing Microsoft.Extensions.Configuration
в свой класс Startup.cs .Я знаю, что это немного устарело, но я столкнулся с этой проблемой при попытке создать свой первый пустой проект Asp.net core 1.0. Чтобы использовать
AddJsonFile
метод, вы должны добавить ссылкуMicrosoft.Extensions.Configuration.Json
на свой проект через Nuget .Чтобы установить ссылку, выполните следующую команду в консоли диспетчера пакетов:
источник
На случай, если у кого-то еще возникнут проблемы с этим, Microsoft внесла критические изменения в эту часть инфраструктуры 16 августа 2015 года. Вы должны импортировать правильные версии зависимостей и переключиться на новый способ создания конфигурации.
Моя конфигурация включает:
{ "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-*" }, ... }
Этот код, навеянный этим вопросом, может как-то помочь вам:
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; } } ... }
Надеюсь, это поможет.
источник
В project.json вам нужно будет добавить его в зависимости
dependencies { "Microsoft.Extensions.Configuration.Json": "1.0.0" }
источник