在Windows 8中获取类型程序集

我正在尝试在Windows 8中使用MEF。

为了构建容器的AssemblyCatalog ,我需要对程序集的引用。 在过去,我会这样做:

 var catalog = new AssemblyCatalog(typeof(App).Assembly); 

神秘的是, Type对象上不再存在Assembly属性。 有人知道一个好的工作吗? 还有另一种方法来组装吗? 我可以使用Assembly.Load加载它,但我需要程序集的名称。 我不能从类型中得到那个。

使用DirectoryCatalog可能是替代? 我不喜欢这个主意,但我会做我需要的。

 using System.Reflection; 

请改用type.GetTypeInfo().Assembly

在挖掘了大量有关构建metro风格应用程序的文档后,找到了答案。

http://msdn.microsoft.com/en-us/library/windows/apps/br230302%28v=VS.85%29.aspx#reflection

Type类的reflection方面已移至名为System.Reflection.TypeInfo的新对象。 您可以通过调用type.GetTypeInfo()来获取此类的实例。

所以得到汇编: typeof(App).GetTypeInfo().Assembly

需要using System.Reflection;