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

时间:2017-10-18 11:59:33

标签: c# configuration .net-core app-config

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

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

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

2 个答案:

答案 0 :(得分:4)

在.NET Core 2.0(以及.NET Standard 2.0)中,与以前版本的.NET Core \ Standard不同,您可以使用良好的旧ConfigurationManager类。只需安装名为System.Configuration.ConfigurationManager的nuget包,然后就像往常一样使用它:

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

添加app.config - 右键单击​​项目,添加>新商品>应用配置文件。请注意,您可能需要在对该app.config进行更改后重建项目,以使它们生效(将其复制到输出中的YourProjectName.dll.config文件中)。

答案 1 :(得分:0)

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

不要担心该主题与ASP.NET Core中的配置有关。它也适用于各种应用。

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

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

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

以下是代码示例:

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>