我已经使用.NET Core Framework启动了一个新的RESTful项目。
我将我的解决方案分为两部分:Framework(一组.NET标准库)和Web(RESTful项目)。
使用Framework文件夹,我提供了一些用于进一步提升web项目的库,并且我想提供一个使用通用方法 T GetAppSetting<T>(string Key)
的Configuration类。
我的问题是:如何在.NET Standard中访问AppSettings.json文件?
我找到了很多关于阅读这个文件的例子,但所有这些例子都将文件读入了web项目,没有人将这个文件读入一个extarnal库。我需要它为Others项目提供可重用的代码。
答案 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.Configuration
和Microsoft.Extensions.Configuration.Json
个套件。有关更多配置选项see the documentation。