只需將您的設置放在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