Почему visual studio говорит мне, что метод AddJsonFile () не определен в классе конфигурации?
Я разрабатываю 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"...
что не так?.
4 ответов
вам нужно включить Microsoft.Extensions.Configuration.Json
пакет NuGet, если вы хотите вызвать .AddJsonFile()
метод.
см.: https://github.com/aspnet/Configuration/tree/dev/src/Microsoft.Framework.ConfigurationModel.Json
для дальнейшего чтения, хороший учебник по адресу:http://whereslou.com/2014/05/23/asp-net-vnext-moving-parts-iconfiguration/
Я знаю, что это немного старый, но я просто столкнулся с этой проблемой при попытке создать свой первый Asp.net пустой проект core 1.0. Для использования метода AddJsonFile необходимо добавить ссылку на Microsoft.Увеличение.Конфигурация.В JSON к вашему проекту через Nuget.
для установки ссылки выполните следующую команду в консоли диспетчера пакетов:
PM> установить-пакет Microsoft.Увеличение.Конфигурация.В JSON
в случае, если у кого-то еще были проблемы с этим, 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; }
}
...
}
надеюсь, что это помогает.
под projetc.json-файле вам нужно будет добавить в зависимости
dependencies {
"Microsoft.Extensions.Configuration.Json": "1.0.0"
}