Configuration 如何设置和使用ASP.net 5 RC1配置?

Configuration 如何设置和使用ASP.net 5 RC1配置?,configuration,asp.net-core,Configuration,Asp.net Core,我对新的配置系统在ASP.NET5中的工作方式感到非常困惑。是的,我知道我创建了一个config.json,但是我如何在代码中访问它的内容,特别是在Startup.cs中 许多教程使用的Configuration类在Microsoft.Extensions.Configuration中似乎不存在。他们似乎使用了Microsoft.Framework.ConfigurationModel。这不是“不再有效”吗?我假设是因为Intellisense没有给我一个1.0.0-rc1-* 我找不到关于如何

我对新的配置系统在ASP.NET5中的工作方式感到非常困惑。是的,我知道我创建了一个config.json,但是我如何在代码中访问它的内容,特别是在Startup.cs中

许多教程使用的
Configuration
类在
Microsoft.Extensions.Configuration
中似乎不存在。他们似乎使用了
Microsoft.Framework.ConfigurationModel
。这不是“不再有效”吗?我假设是因为Intellisense没有给我一个1.0.0-rc1-*

我找不到关于如何在ASP.net 5 RC1中使用配置的更新指南。有人告诉我怎么做


另外,我需要一些关于环境变量以及它们如何与新的配置框架交互的帮助,如果它们打算以某种方式交互的话。我希望能够以dev的形式运行应用程序,并以release的形式部署它

在Startup.cs中,您可以设置多个配置源,可以使用像appsettings.json这样的json文件,可以使用环境变量,还可以使用名为usersecrets的新东西。添加它们的顺序很重要,因为每个配置源都可以复制相同的设置。 添加配置源越晚,它获得的优先级就越高。从我自己的项目中考虑这个示例,也可以看到注释:

var builder = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json")
    .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

if (env.IsEnvironment("Development"))
{
    // This reads the configuration keys from the secret store.
    // For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709
builder.AddUserSecrets();
}

// this file name is ignored by gitignore in my project
// so you can create it and use on your local dev machine
// remember last config source added wins if it has the same settings
builder.AddJsonFile("appsettings.local.overrides.json", optional: true);

 // most common use of environment variables would be in azure hosting
// since it is added last anything in env vars would trump the same setting in previous config sources
 // so no risk of messing up settings if deploying a new version to azure
builder.AddEnvironmentVariables();
Configuration = builder.Build();
然后,就存储配置设置而言,您应该使用具有属性的类,这些属性可以在启动时从配置映射并向DI服务注册,以便可以在您需要的任何地方注入它们。有关详细示例,请参见

更新:以下软件包来自my project.json,是必需的/相关的软件包,无论intellisense与否,这些软件包当前有效:

"Microsoft.Extensions.Configuration": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final",

这与设置环境变量的方式非常相似。它也应该对您有所帮助。
Microsoft.Framework.*
已重命名为
Microsoft.Extensions.*
。此外,我强烈建议it部门订阅该回购协议的通知。