我正在使用VS Ultimate 2015 Preview开发一个ASP.NET 5 WebAPI项目。我正在尝试以这种方式配置应用程序(行号只是指南):
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行给出了一个错误:'Configuration'不包含'AddJsonFile'的定义......
怎么了?
如果要调用Microsoft.Extensions.Configuration.Json
方法,则需要包含.AddJsonFile()
NuGet包。
见:https://github.com/aspnet/Configuration/tree/dev/src/Microsoft.Framework.ConfigurationModel.Json
如需进一步阅读,这里有一个很好的教程:ASP.NET vNext Moving Parts: IConfiguration。
我知道这有点旧,但我在尝试构建我的第一个Asp.net核心1.0空白项目时遇到了这个问题。要使用AddJsonFile方法,必须通过Nuget将Microsoft.Extensions.Configuration.Json的引用添加到项目中。
要安装引用,请在程序包管理器控制台中运行以下命令:
PM>安装包Microsoft.Extensions.Configuration.Json
如果其他人遇到麻烦,Microsoft已于2015年8月16日将breaking changes用于该框架的这一部分。您必须导入正确版本的依赖项并切换到构建配置的新方法。
我的配置包括:
{
"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-*"
},
...
}
此代码受this question启发,可能会帮助您:
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"
}