Opracowuję projekt ASP.NET 5 WebAPI przy użyciu VS Ultimate 2015 Preview. Próbuję skonfigurować aplikację w ten sposób (numery linii to tylko wskazówki):
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 }
W wierszu 8 pojawia się błąd: „Konfiguracja” nie zawiera definicji dla „AddJsonFile” ...
Co jest nie tak?
Microsoft.Extensions.Configuration
iMicrosoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.Json
jako zależność w swoim pliku project.json , a następnie dodaćusing Microsoft.Extensions.Configuration
do klasy Startup.cs .Wiem, że jest to trochę stare, ale właśnie napotkałem ten problem podczas próby zbudowania mojego pierwszego pustego projektu Asp.net core 1.0. Aby użyć tej
AddJsonFile
metody, musisz dodać odwołanieMicrosoft.Extensions.Configuration.Json
do swojego projektu za pośrednictwem Nuget .Aby zainstalować odniesienie, uruchom poniższe polecenie w konsoli menedżera pakietów:
źródło
Na wypadek, gdyby ktoś miał z tym problem, Microsoft wprowadził istotne zmiany w tej części frameworka 16 sierpnia 2015 r. Należy zaimportować odpowiednie wersje zależności i przejść na nowy sposób tworzenia konfiguracji.
Moja konfiguracja obejmuje:
{ "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-*" }, ... }
Ten kod, zainspirowany tym pytaniem, może ci pomóc:
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; } } ... }
Mam nadzieję, że to pomoże.
źródło
W pliku project.json musisz dodać go w ramach zależności
dependencies { "Microsoft.Extensions.Configuration.Json": "1.0.0" }
źródło