我試圖確定MEF(來自codeplex)是否適合我的需求。 我知道MEF支持按需加載Xap文件。 但是,有誰知道它是否支持Silverlight庫(dll's)的按需加載?MEF可以下載Dll(不僅是Xap)文件嗎?
謝謝。
我試圖確定MEF(來自codeplex)是否適合我的需求。 我知道MEF支持按需加載Xap文件。 但是,有誰知道它是否支持Silverlight庫(dll's)的按需加載?MEF可以下載Dll(不僅是Xap)文件嗎?
謝謝。
DeploymentCatalog可以輕鬆下載XAP文件。我們沒有內置的功能來幫助直接下載DLL,但是如果您自己下載並將其作爲程序集加載(即使用Assembly.Load),則可以使用AssemblyCatalog爲該程序集創建一個目錄,您可以與MEF一起使用。
所以如果我想加載模塊(基於用戶授權的代碼段),那麼我需要爲每個模塊創建一個Xap?然後,通過按需加載,加載相關的Xap文件,然後從中加載組件? – AlvinfromDiaspar 2010-09-03 14:59:52
@Alvin您可以這樣做,或者您可以編寫自己的代碼來下載DLL,並在完成時加載它們並將它們放入AssemblyCatalog中。但是將每個模塊放在單獨的XAP中可能會更好。 – 2010-09-06 16:39:53
下面是DeploymentCatalog的修改版本,它允許您下載DLL或XAP。
這是很簡單的添加,這是一個奇蹟,爲什麼他們沒有在第一時間將其添加。
爲什麼不爲每個想要分離的DLL創建Silverlight應用程序並刪除不需要的XAML文件?這相當於Prism框架/模式中的*模塊*。在XAP中下載壓縮的DLL比下載未壓縮的DLL更有效率(除非它們很小)。 – 2010-09-02 22:59:41
一個Dll被壓縮,它可能不會通過壓縮獲得更多(如果有的話)壓縮。此外,我不想創建xaps(一個單獨的應用程序),當我想要的只是一個庫。乾淨利落。 – AlvinfromDiaspar 2010-09-03 14:58:01