swd*_*don 10 .net c# configuration json asp-net-config-builders
我有一个面向 .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>
Run Code Online (Sandbox Code Playgroud)
我有一个文件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"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在我的main
方法中,我尝试读取一个配置值,如:
var config = ConfigurationManager.AppSettings
Run Code Online (Sandbox Code Playgroud)
但是,的值config
始终为空。我尝试了以下方法:
jsonFile
为~/config.json
;jsonMode
为平面的默认值;但是,无法让配置工作。我该如何解决这个问题?
小智 7
如果你想在 .Net Core 中使用 config json 文件,你可以安装 NuGet 包Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json 然后初始化配置
IConfigurationRoot configuration = new ConfigurationBuilder()
.AddJsonFile("config.json", optional: true)
.Build();
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以使用 .Net Core 中的配置。例如:
{
"myConfig": {
"item1": "config options"
}
}
Run Code Online (Sandbox Code Playgroud)
对于此 json,您将调用:
var configItem = configuration["myConfig:item1"];
Run Code Online (Sandbox Code Playgroud)
我前段时间也这样做过,但这不仅仅是一句俏皮话。您可以使用 Microsoft Nuget Packages Microsoft.Extensions.Configuration
&Microsoft.Extensions.Configuration.Json
设置您自己的 ConfigurationBuilder。
看看这篇文章,我想你应该能看完。
归档时间: |
|
查看次数: |
14064 次 |
最近记录: |