.NET Core 配置文件的工作原理

How .NET Core configutation files work

我正在将我的 .NET 解决方案迁移到 .NET Core 2.0。我应该如何转换对 ConfigurationManager 的调用,如下所示?

var valueFromConfig = ConfigurationManager.AppSettings["someName"];

我搜索了这个,但我发现主要集中在 ASP.NET 应用程序上,而我想访问控制台应用程序和 windows 服务应用程序中的配置文件。

请看这个link: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration

不要担心主题是关于 ASP.NET Core 中的配置。它也适用于所有类型的应用程序。

首先您需要通过 NuGet 安装 - Microsoft.Extensions.Configuration。

然后你需要安装 - Microsoft.Extensions.Configuration.Xml 如果你想使用 XML 作为配置文件。 有一个选项:您可以使用 JSON 文件作为配置文件。为了使用它,你应该安装 - Microsoft.Extensions.Configuration.Json

主要思想是使用 ConfigurationBuilder class。 您也可以同时拥有多个配置。

这是一个代码示例:

var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddXmlFile("appsettings.xml", optional: true, reloadOnChange: true)

IConfigurationRoot configuration = builder.Build();

var setting1 = configuration["MySetting"];

其中 XML 看起来像:

<configuration>
   <MySetting>23</MySetting>
</configuration>

在 .NET Core 2.0(和 .NET Standard 2.0)中,与以前版本的 .NET Core\Standard 不同,您可以使用旧的 ConfigurationManager class。只需安装名为 System.Configuration.ConfigurationManager 的 nuget 包,然后您就可以照常使用它了:

var valueFromConfig = ConfigurationManager.AppSettings["someName"];

要添加 app.config - 右键单击​​项目,添加 > 新项目 > 应用程序配置文件。请注意,您可能需要在更改 app.config 后重建项目才能生效(将复制到输出中的 YourProjectName.dll.config 文件)。