簡體   English   中英

在程序集中使用應用程序設置

[英]Using application settings across assemblies

我正在編寫一個包含在另一個程序集中的插件系統的應用程序。

問題是插件系統需要從主應用程序中獲取應用程序設置(例如用於查找插件的目錄)。

這是如何完成的,還是我會以錯誤的方式進行操作?

編輯:鼓勵我添加一些有關插件系統如何工作的詳細信息。 我還沒有完全解決這個問題,而我才剛剛開始實施它,但是基本上我看了這篇文章

讓主應用程序從應用程序設置中獲取插件目錄,並將其推送到插件系統中。

也許您可以在創建插件時將配置作為參數插入?

//Get the configuration for the current appDomain
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

//Create the plugin, and pass in the configuration
IPlugin myPlugin = new AlfaPlugin(config);

您可能需要對System.Configuration程序集的引用。

您可以編寫一個自定義配置部分,該部分允許您編寫表示XML模式的對象。 建立后,您只需索要該部分的當前實例。

您可以通過派生System.Configuration.ConfigurationSection並編寫表示屬性和子元素的屬性來實現。 有關更多信息,請參見如何:使用ConfigurationSection創建自定義配置部分

運行該庫的AppDomain是當前配置范圍。 System.Configuration命名空間將所有配置文件相關聯,並提供一個統一的視圖。

要檢索節的當前實例,可以使用ConfigurationManager.GetSection(...)

您的插件應接受此部分的實例,而不是常規的Configuration對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM