如何从ConfigurationManager获得顶级配置(类型为System.Configuration.Config
本文关键字:类型 System Config Configuration 配置 ConfigurationManager | 更新日期: 2023-09-27 18:09:45
我试过了:
((ConfigurationSection)ConfigurationManager.GetSection("appSettings"))).CurrentConfiguration
却得到了System.InvalidCastException
。
我做不想使用ConfigurationManager.OpenMappedExeConfiguration
,因为它需要配置文件的路径,这在我们的情况下是不同的。
谢谢。
1) Appsettings部分是NameValueCollection的类型,而不是ConfigurationSection,因此它的InavalidCastException。为了避免异常,上面的代码应该是
((NameValueCollection)ConfigurationManager.GetSection("appSettings"))
2)除了AppSettings
和ConnectionStrings
,配置文件的任何其他部分都可以如下所示读取
var section = ConfigurationManager.GetSection("startup") as ConfigurationSection;
3)如果配置文件的路径不同,那么使用汇编代码库获取路径是有帮助的,如下所示
var path = Assembly.GetExecutingAssembly().CodeBase;
var path1 = Assembly.GetEntryAssembly().CodeBase;