我正在将.NET解决方案迁移到.NET Core 2.0。我应该如何将调用转换为ConfigurationManager,如下所示?
var valueFromConfig = ConfigurationManager.AppSettings["someName"];
我搜索了这个,但我发现的主要是ASP.NET应用程序,而我想访问控制台应用程序和Windows服务应用程序中的配置文件。
答案 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>