Получение сборки типов в Windows 8 - PullRequest
10 голосов
/ 30 сентября 2011

Я пытаюсь использовать MEF в Windows 8.

Чтобы собрать AssemblyCatalog для контейнера, мне нужна ссылка на сборку.В прошлом я бы просто сделал это:

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

Таинственным образом, свойство Assembly больше не существует в объекте Type.Кто-нибудь знает хорошую работу?Есть ли другой способ получить сборку?Я мог бы загрузить его, используя Assembly.Load, но мне нужно было бы имя сборки.Я также не могу получить это от типа.

Возможно ли использование DirectoryCatalog альтернативы?Мне не нравится эта идея, но я буду делать то, что мне нужно.

Ответы [ 2 ]

17 голосов
/ 30 сентября 2011
using System.Reflection;

Используйте type.GetTypeInfo().Assembly вместо.

6 голосов
/ 30 сентября 2011

Нашел ответ после некоторого изучения документации по созданию приложений в стиле 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;

...