从.net标准库

时间:2018-05-28 09:09:46

标签: c# .net-core asp.net-core-2.0 asp.net-core-webapi .net-standard-2.0

我已经使用.NET Core Framework启动了一个新的RESTful项目。

我将我的解决方案分为两部分:Framework(一组.NET标准库)和Web(RESTful项目)。

使用Framework文件夹,我提供了一些用于进一步提升web项目的库,并且我想提供一个使用通用方法 T GetAppSetting<T>(string Key) 的Configuration类。

我的问题是:如何在.NET Standard中访问AppSettings.json文件?

我找到了很多关于阅读这个文件的例子,但所有这些例子都将文件读入了web项目,没有人将这个文件读入一个extarnal库。我需要它为Others项目提供可重用的代码。

1 个答案:

答案 0 :(得分:6)

正如评论中已经提到的,你真的不应该这样做。 Inject a configured IOptions<MyOptions> using dependency injection instead

但是,您仍然可以将json文件作为配置加载:

IConfiguration configuration = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory()) // Directory where the json files are located
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .Build();

// Use configuration as in every web project
var myOptions = configuration.GetSection("MyOptions").Get<MyOptions>();

请务必参考Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.Json个套件。有关更多配置选项see the documentation