2017-10-18 167 views
0

我正在將.NET解決方案遷移到.NET Core 2.0。我應該如何將調用轉換爲如下的ConfigurationManager?我找到了這個,但我發現我主要關注ASP.NET應用程序,而我想訪問控制檯應用程序和Windows服務應用程序中的配置文件。.NET Core配置文件如何工作

回答

4

在.NET核2.0(和.NET 2.0標準),不像以前的版本。 NET Core \ Standard,你可以使用好舊的ConfigurationManager類。只要安裝NuGet包稱爲System.Configuration.ConfigurationManager,那麼你可以使用它像往常一樣:

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

要添加的app.config - 右擊項目,添加>新建項目>應用程序配置文件。請注意,您可能需要在對該app.config進行更改之後重建項目以使其生效(將被複制到輸出中的YourProjectName.dll.config文件中)。

+0

聽起來不錯,我會堅持這個解決方案,至少暫時。以便我現在不必進行大量更改。 – KirillSk

0

請看看這個鏈接: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration

不要擔心的話題是關於配置在ASP.NET核心。它也適用於各種應用。

首先你需要安裝--Microsoft.Extensions.Configuration via NuGet。

然後,您需要安裝 - Microsoft.Extensions.Configuration.Xml,如果您要使用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>