如果我为我的主应用程序创建app.config,我可以使用它:
string test = Properties.Settings.Default.LibTest;
你可以在app.config上找到:
<applicationSettings>
<RManager.Properties.Settings>
<setting name="LibTest" serializeAs="String">
<value>ola lib</value>
</setting>
</RManager.Properties.Settings>
问题是,如果我有一个类库,有没有办法使用以下方法访问相同的设置:
string libString = Properties.Settings.Default.LibTest;
如果没有,哪种解决方案最适合从主应用程序访问设置?
答案 0 :(得分:3)
如果您的libruary可以从主应用程序获取属性,我会说这是不正确的。我建议如下:
在libruary(或某些常见的lib)中创建另一个静态类(f.e.ConsetsManager),并在应用程序启动后将appconfig中的数据填充到该公共静态类(SettingsManager)。您可以在应用程序和dll中使用该类(SettingsManager)属性。
如果您的dll和您的应用程序有很多绑定,那么您应该考虑将源代码从dll转换为exe应用程序,在这种情况下,您将能够访问app.config设置。
答案 1 :(得分:0)
基本上,您需要公开设置并从其他程序集访问它们。
以下是我之前几个类似问题的答案: