我正在尝试在Windows 8中使用MEF。
为了构建容器的AssemblyCatalog,我需要一个对程序集的引用。在过去,我会这样做:
var catalog = new AssemblyCatalog(typeof(App).Assembly);令人费解的是,Type对象上不再存在Assembly属性。有人知道这附近有什么好工作吗?有没有其他方法来获取程序集?我可以使用Assembly.Load加载它,但我需要程序集的名称。我也不能从类型中得到它。
使用DirectoryCatalog是可能的替代方案吗?我不喜欢这个主意,但我会做我需要做的。
发布于 2011-09-30 23:03:06
using System.Reflection;请改用type.GetTypeInfo().Assembly。
发布于 2011-09-30 23:02:27
在深入研究了大量关于构建metro风格的应用程序的文档之后,我找到了答案。
http://msdn.microsoft.com/en-us/library/windows/apps/br230302%28v=VS.85%29.aspx#reflection
Type类的反射方面已经移到了一个名为System.Reflection.TypeInfo的新对象中。您可以通过调用type.GetTypeInfo()来获取此类的实例。
因此,要获取程序集:typeof(App).GetTypeInfo().Assembly。
需要using System.Reflection;
https://stackoverflow.com/questions/7612186
复制相似问题