c#dll的独立设置 - 已更新

时间:2013-10-09 15:49:47

标签: c# visual-studio-2010 dll config settings.settings

我已经搜索了一段时间,没有找到方法来做到这一点。

我正在开发一个项目,它有很多部分,其中大部分是我无法直接访问的,但它是可扩展的。所以我为它写了一个dll,但问题是我需要能够提供一些可以更新的设置/配置,而不必重新编译dll。

我无法访问主exe的app.config。和vs2010创建的settings / dll.config没有被dll接收。

这实际上可行吗?一个dll的独立操作配置文件?

新的更新。 - 我已经创建了一个settings.settings文件并且所有成功获取了配置数据,但它似乎在编译时将其烘焙到文件中,当我在部署后编辑配置时它没有获取更改。我尝试了下面的第一个答案,它没有用。

感谢

1 个答案:

答案 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);

我没有尝试这个具体的例子,但我之前必须这样做。希望这有帮助!