我有一个针对.NET 4.7.1的控制台应用。我正在尝试在我的.Net Framework应用程序中使用类似于.net core的配置。我的`App.config如下:
<configuration>
<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
</configSections>
<configBuilders>
<builders>
<add name="SimpleJson"
jsonFile="config.json"
optional="false"
jsonMode="Sectional"
type="Microsoft.Configuration.ConfigurationBuilders.SimpleJsonConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Json, Version=1.0.0.0, Culture=neutral" /></builders>
</configBuilders>
我有一个名为config.json
的文件,它的属性"Copy Always"设置为True
。config.json
的内容如下:
{
"appSettings": {
"setting1": "value1",
"setting2": "value2",
"complex": {
"setting1": "complex:value1",
"setting2": "complex:value2"
}
},
"connectionStrings": {
"mySpecialConnectionString": "Dont_check_connection_information_into_source_control"
}
}
然后,在我的main
方法中,我尝试读取配置值,如下所示:
var config = ConfigurationManager.AppSettings
然而,config
的值始终为 null。我尝试了以下操作:
- 将
jsonFile
更改为~/config.json
; - 在将
jsonMode
设置为默认的 flat 值的同时,提供了一个非常基本的 key-value(flat)JSON 配置;
但是,无法让配置正常工作。如何解决这���问题?