请考虑以下事项:
程序集中的代码需要设置Engine.Url
string s = ConfigurationManager.AppSettings [“Engine.Url”]
不起作用,s将为null。
然后我试了
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string engineUrl = config.AppSettings["Engine.Url"];
这不会编译错误:
'System.Configuration.ConfigurationElement.this[System.Configuration.ConfigurationProperty]'
由于其保护级别而无法访问
有没有办法从AppDomain中获取标准配置文件?
编辑:
这也不起作用,engineUrl将为null:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationElement engineUrl = config.AppSettings.Settings["Engine.Url"];
答案 0 :(得分:1)
简单回答:是的,但它很不稳定。
你有几个选择。我相信,您可以设置创建AppDomain时使用的ConfigurationFile
对象的AppDomainSetup
属性。
您可以致电AppDomain.SetData("APP_CONFIG_FILE", path_to_file)
(请参阅the related MSDN page)