将 .settings 添加到 .NET Core 项目

Adding .settings to .NET Core project

是否可以将 .settings 文件添加到 Visual Studio 中的 .NET Core 项目?如果没有,使用 .NET Core 实现此目的的 equivalent/alternative 方法是什么?

您可以将 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"
    }
}