【问题标题】:Adding .settings to .NET Core project将 .settings 添加到 .NET Core 项目
【发布时间】:2016-10-06 21:40:43
【问题描述】:
是否可以在 Visual Studio 中将 .settings 文件添加到 .NET Core 项目?如果没有,使用 .NET Core 实现此目的的等效/替代方法是什么?
【问题讨论】:
标签:
c#
.net
visual-studio
asp.net-core
settings.settings
【解决方案1】:
您可以从appsettings 文件将强类型值添加到 IOC 容器中:
appsettings.json
{
// ...other stuff...
"MyConfiguration": {
"ValueOne": "Some value",
"ValueTwo": "2"
}
}
MyConfiguration.cs
public class MyConfiguration
{
public string ValueOne { get; set; }
public int ValueTwo { get; set; }
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddOptions();
services.Configure<MyConfiguration>(Configuration.GetSection("MyConfiguration"));
}
然后您可以通过请求IOptions<MyConfiguration> 来获取它们,如下所示:
public class HomeController : Controller
{
public HomeController(IOptions<MyConfiguration> config)
{
var someValue = config.Value.ValueOne; // "Some value"
}
}