我有一个针对 .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
,其属性“始终复制”设置为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
始终为空。我尝试了以下方法:
- 尝试更改
jsonFile
为~/config.json
; - 尝试提供一个非常基本的键值(平面)json配置,同时设置
jsonMode
为平面的默认值;
但是,无法使配置正常工作。我该如何解决这个问题?