C# DLL 的独立设置 - 已更新
本文关键字:已更新 设置 独立 DLL | 更新日期: 2023-09-27 18:34:31
我已经寻找了一段时间,但没有结果。
我正在处理一个项目,该项目有很多部分,其中大部分我无法直接访问,但它是可扩展的。所以我为它写了一个 dll,但问题是我需要能够提供某种可以更新的设置/配置,而无需重新编译 dll。
我无权访问主exe的app.config.并且vs2010创建的settings/dll.config未被dll拾取。
这真的可能吗? DLL 的独立操作配置文件?
新更新。 - 我创建了一个settings.settings文件,并且都成功拾取了配置数据,但是在编译时似乎将其烘焙到文件中,当我在部署后编辑配置时,它不会拾取更改。我尝试了下面的第一个答案,但没有用。
谢谢
是的,使用系统配置命名空间,您可以创建一个配置节,该节可用于存储您喜欢的任何配置属性:
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);
我没有尝试这个具体的例子,但我以前不得不这样做。希望这有帮助!