只需将您的设置放在App.config文件中,并从您的dll中读取它们即可。事实上,我相信这是唯一的地方你的DLL将寻找设置/配置,本地配置的DLL被忽略。
下面是一个快速示例,以确保dll对应用程序没有强引用。这段代码并不好,但你明白了。
private string GetSettingValue(string key)
{
string executingAssembly = Assembly.GetEntryAssembly().GetName().Name;
string sectionName = "applicationSettings/" + executingAssembly
+ ".Properties.Settings";
ClientSettingsSection section =
(ClientSettingsSection)ConfigurationManager.GetSection(sectionName);
// add null checking etc
SettingElement setting = section.Settings.Get(key);
return setting.Value.ValueXml.InnerText;
}
替代地具有与共享设置一个共同dll
并采取从每个需要共享的配置组件的依赖关系。这是更清洁。
但是,如果我有一个名为setting1的设置,我想要访问我的.exe和我的.dll文件,我该如何设置一个常用的条目?应用程序中的应用程序将位于applicationSettings/app_name.Properties.Settings中,而来自dll的将位于applicationSettings/library.Properties.Settings中。我如何让他们获得相同的价值? –
添加了一个代码示例 – TheCodeKing