是否可以将 .Net Standard System.Configuration.ConfigurationManager.AppSettings 与 appSettings.json 文件一起使用
Is it possible to use .Net Standard System.Configuration.ConfigurationManager.AppSettings with an appSettings.json file
我希望能够构建 .Net 标准库,无论它们是从 Net Framework 还是 Net Core 应用程序调用的,它们都可以检索自己的配置信息。
System.Configuration.ConfigurationManager 已添加到网络标准。我已经证明我可以使用它从传统应用程序或 web.config 文件中提取,例如:
var value = ConfigurationManager.AppSettings["testString"];
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="testString" value="xxwx"/>
<add key="testInt" value="234"/>
<add key="testBool" value="true"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
我希望能够使用相同的代码从 appettings.json 文件中提取相同的值。类似于以下内容:
{
"appSettings": [
{
"Key": "testString",
"Value": "xxwx"
},
{
"Key": "testInt",
"Value": "234"
},
{
"Key": "testBool",
"Value": "true"
}
]
}
谁能告诉我使用 Net Standard 2.0 中的 System.Configuration 来读取 appSettings.json 文件是否可行?这里的真正目的是我不想让消费应用程序需要了解库的配置参数。我还希望能够使用来自 Net Framework 和 Net Core 应用程序的相同库。或者,有没有更好的方法来实现这一目标?
据我所知,该功能由 Microsoft.Extensions.Configuration
、which is compatible with .NETStandard 2.0 提供。
您可以在此处查看加载配置的示例:
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{EnvironmentName}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
这将加载一个 appsettings.json
文件以及一个环境特定的应用程序设置文件(例如:appsettings.Production.json
)。
要获取设置,您可以在 Microsoft Docs 中查看更多相关信息。
我希望能够构建 .Net 标准库,无论它们是从 Net Framework 还是 Net Core 应用程序调用的,它们都可以检索自己的配置信息。
System.Configuration.ConfigurationManager 已添加到网络标准。我已经证明我可以使用它从传统应用程序或 web.config 文件中提取,例如:
var value = ConfigurationManager.AppSettings["testString"];
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="testString" value="xxwx"/>
<add key="testInt" value="234"/>
<add key="testBool" value="true"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
我希望能够使用相同的代码从 appettings.json 文件中提取相同的值。类似于以下内容:
{
"appSettings": [
{
"Key": "testString",
"Value": "xxwx"
},
{
"Key": "testInt",
"Value": "234"
},
{
"Key": "testBool",
"Value": "true"
}
]
}
谁能告诉我使用 Net Standard 2.0 中的 System.Configuration 来读取 appSettings.json 文件是否可行?这里的真正目的是我不想让消费应用程序需要了解库的配置参数。我还希望能够使用来自 Net Framework 和 Net Core 应用程序的相同库。或者,有没有更好的方法来实现这一目标?
据我所知,该功能由 Microsoft.Extensions.Configuration
、which is compatible with .NETStandard 2.0 提供。
您可以在此处查看加载配置的示例:
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{EnvironmentName}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
这将加载一个 appsettings.json
文件以及一个环境特定的应用程序设置文件(例如:appsettings.Production.json
)。
要获取设置,您可以在 Microsoft Docs 中查看更多相关信息。