Hvorfor Visual Studio fortelle meg at AddJsonFile () -metoden ikke definere i konfigurasjonen klasse?

stemmer
35

Jeg utvikler en ASP.NET 5 WebAPI prosjekt med VS Ultimate 2015 Preview. Jeg prøver å konfigurere programmet på denne måten (linjenumre er bare guider):

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 }

Linje 8 gir meg en feil: 'Konfigurasjon' inneholder ikke en definisjon for 'AddJsonFile' ...

Hva er galt?.

Publisert på 09/12/2014 klokken 15:20
kilden bruker
På andre språk...                            


4 svar

stemmer
74

Du må ta med Microsoft.Extensions.Configuration.Jsonnuget pakken hvis du ønsker å kalle .AddJsonFile()metoden.

Se: https://github.com/aspnet/Configuration/tree/dev/src/Microsoft.Framework.ConfigurationModel.Json

For videre lesning, er en fin tutorial på: http://whereslou.com/2014/05/23/asp-net-vnext-moving-parts-iconfiguration/

Svarte 09/12/2014 kl. 15:38
kilden bruker

stemmer
11

Jeg vet dette er litt gammel, men jeg bare kjørte inn i denne saken når du prøver å bygge min første Asp.net kjerne 1.0 tomt prosjekt. For å kunne bruke den AddJsonFile metoden må du legge til en referanse til Microsoft.Extensions.Configuration.Json til prosjektet via nuget.

For å installere referansen kjøre under kommando i pakkebehandleren konsollen:

PM> Installer-pakke Microsoft.Extensions.Configuration.Json

Svarte 05/07/2016 kl. 12:42
kilden bruker

stemmer
3

I tilfelle noen andre har hatt problemer med dette, Microsoft har gjort bryte endringer i denne delen av rammeverket på 16 2015. august Du må importere de riktige versjonene av avhengigheter og bytte over til den nye måten å bygge opp konfigurasjonen.

Min config inkluderer:

{
  "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-*"
  },
...
}

Denne koden, inspirert av dette spørsmålet kan gå noen måte å hjelpe deg:

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; }
    }
...

}

Håper det hjelper.

Svarte 25/09/2015 kl. 10:27
kilden bruker

stemmer
1

Under projetc.json må du legge innen avhengig

dependencies {
"Microsoft.Extensions.Configuration.Json": "1.0.0"
}
Svarte 01/11/2016 kl. 09:38
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more