我在一个类库中有一些代码,用于定位.Net Framework 4 Client Profile.代码访问使用应用程序的配置.对于客户端应用程序(WinForms应用程序,控制台应用程序等),为App.Config获取正确的对象很简单:
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
我的类库也需要适用于Web应用程序.访问Web.Config的正确方法也很简单:
WebConfigurationManager.OpenWebConfiguration("~");
问题是WebConfigurationManager是System.Web的一部分,它不作为.Net Framework 4 Client Profile的一部分提供.
有没有办法可以编写我的代码或构建我的项目,以便在两种情况下都可以工作?它需要运行良好才能访问仅安装了客户端配置文件的系统上的app.config.它还需要能够在必要时访问web.config.也许有一些方法可以动态加载system.web或其他程序集,当它可用时以及何时需要它?
最佳答案 非常有趣的问题;-)
如果你必须阅读appSettings只需使用ConfigurationManager.AppSettings,它需要System.Configuration并测试它在Web应用程序上的工作方式.如果它有效,你最好去,最终你必须在appSettings部分放置所需的限制,或者探索ConfigurationManger类的其他类和选项,不要使用WebConfigurationManager之类的东西