2012-03-09 84 views
0

MEF 4.0中有沒有一種方法可以直接從目錄創建零件?我知道在以前的版本中有一個容器,但似乎已經被抽象出來了。直接從MEF目錄創建零件?

編輯:

爲了澄清,我有一個外部包的下載模塊。一個包是我的主要應用程序外部的XAP的術語,我使用DeploymentCatalog進行下載。當異步調用返回模塊時,返回包含元數據和包的初始化入口點的IPackage實例。爲了方便,我想這樣做。如果我使用include-many,它會在這一點上分開兩點。

應用程序的其他部分(即導航模塊)使用include。

+0

您使用的是什麼版本的.Net? – IAbstract 2012-03-09 20:34:20

+0

我正在使用.Net 4.0。 – Jordan 2012-03-09 20:40:45

回答

0

MEF首次在dotnet 4.0中發貨,所以 沒有「以前的版本」(除非您計算codeplex上的預覽)。

Dotnet 4.0肯定有CompositionContainer類。也許你感到困惑,因爲你有這樣的代碼:

using System.ComponentModel.Composition; 

但CompositionContainer中實際上是System.ComponentModel.Composition.Hosting?或者你忘了添加一個對System.ComponentModel.Composition.dll的引用?

+0

在之前的版本中,我的意思是在'CompositionHost.Initialize'之前有另一種初始化方式。很多早期的屏幕轉換(包括Mike Tulty的)使用不同的方式來初始化目錄。 – Jordan 2012-03-12 13:40:53