Ответ 1
using System.Reflection;
Используйте type.GetTypeInfo().Assembly
вместо этого.
Я пытаюсь использовать MEF в Windows 8.
Чтобы создать мой контейнер AssemblyCatalog
для контейнера, мне нужна ссылка на сборку. Раньше я бы просто сделал это:
var catalog = new AssemblyCatalog(typeof(App).Assembly);
Загадочно свойство Assembly
больше не существует в объекте Type
. Кто-нибудь знает о хорошей работе? Есть ли другой способ получить сборку? Я мог бы загрузить его с помощью Assembly.Load
, но мне нужно было бы имя сборки. Я также не могу получить это из этого типа.
Использует ли DirectoryCatalog
возможный альтернативу? Мне не нравится эта идея, но я сделаю все, что мне нужно.
using System.Reflection;
Используйте type.GetTypeInfo().Assembly
вместо этого.
Нашел ответ после некоторого поиска нужной документации по созданию приложений в стиле метро.
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;