旧的类库能够通过 app.config 文件自动读取配置值。在新的类库中,你需要添加这一功能。Startup.cs 被用来读取 app.settings 文件。在一个类库中,你也必须添加 Startup.cs 文件。
确保在你的 project.json 文件中添加了相关依赖。
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final"
通过“添加 - 新项目”添加一个名为
appsettings.json
的文件。筛选条件为
json
。
{
"Data": {
"MyDb": {
"ConnectionString": "Server=.;Database=MyDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
}
您可以将连接称为MyDb或DefaultConnection。
添加Startup.cs
以放置代码以读取appsettings.json
。
请参见下面的Startup
构造函数方法。
例如:
using Microsoft.Data.Entity;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace MyProject
{
public class Startup
{
public IConfigurationRoot Configuration { get; set; }
public Startup()
{
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration["Data:MyDb:ConnectionString"]));
}
}
}
在上面的示例中,引用
Configuration["Data:MyDb:ConnectionString]
将返回IConfigurationRoot类型,而不是字符串。
要获取字符串值,请尝试以下操作
string connection = Configuration.Get<string>("Data:MyDb:ConnectionString")