如何从ConfigurationManager获得顶级配置(类型为System.Configuration.Config

本文关键字:类型 System Config Configuration 配置 ConfigurationManager | 更新日期: 2023-09-27 18:09:45

我试过了:

((ConfigurationSection)ConfigurationManager.GetSection("appSettings"))).CurrentConfiguration

却得到了System.InvalidCastException

我做想使用ConfigurationManager.OpenMappedExeConfiguration,因为它需要配置文件的路径,这在我们的情况下是不同的。

谢谢。

如何从ConfigurationManager获得顶级配置(类型为System.Configuration.Config

1) Appsettings部分是NameValueCollection的类型,而不是ConfigurationSection,因此它的InavalidCastException。为了避免异常,上面的代码应该是

((NameValueCollection)ConfigurationManager.GetSection("appSettings"))

2)除了AppSettingsConnectionStrings,配置文件的任何其他部分都可以如下所示读取

var section = ConfigurationManager.GetSection("startup") as ConfigurationSection;

3)如果配置文件的路径不同,那么使用汇编代码库获取路径是有帮助的,如下所示

var path = Assembly.GetExecutingAssembly().CodeBase;
var path1 = Assembly.GetEntryAssembly().CodeBase;
相关文章: