我已经搜索了一段时间,没有找到方法来做到这一点。
我正在开发一个项目,它有很多部分,其中大部分是我无法直接访问的,但它是可扩展的。所以我为它写了一个dll,但问题是我需要能够提供一些可以更新的设置/配置,而不必重新编译dll。
我无法访问主exe的app.config。和vs2010创建的settings / dll.config没有被dll接收。
这实际上可行吗?一个dll的独立操作配置文件?
感谢
答案 0 :(得分:0)
是的,使用System Configuration命名空间,您可以创建一个ConfigurationSection,可用于存储您喜欢的任何配置属性:
public class MyConfigurationSection : ConfigurationSection
{
[ConfigurationProperty("MyProperty")]
public string MyProperty
{
get { return (string)this["MyProperty"] }
set { this["MyProperty"] = value;
}
}
然后在装配项目中,您可以阅读装配特定配置。如果您的程序集名为MyAssembly,那么GetSection()将查找名为MyAssembly.dll.config的配置文件:
var myConfig = (MyConfigurationSection)ConfigurationManager.GetSection("sectionName");
Console.WriteLine(myConfig.MyProperty);
我没有尝试这个具体的例子,但我之前必须这样做。希望这有帮助!