Я хотел бы создать инструмент, который принимает. winmd
(компонент Runtime Windows) и генерирует из него C# DLL (содержащий все общедоступные типы, определенные в компоненте).Автоматическое преобразование winmd в DLL
Насколько я понял, стандартные API .NET Reflection не могут работать в файлах .winmd, и для доступа к этой информации необходимо использовать Metadata Unmanaged APIs.
Вопрос: возможно ли построить сборку C# из информации, полученной из API метаданных?
Или еще лучше - есть ли инструмент (например, TLBIMP), который уже выполняет эту работу или что-то подобное?
Просто используйте приличный дизассемблер. Декомпиляция на C# отлично работает в Reflector. Добавьте файл .winmd, также добавьте Windows.winmd. Щелкните правой кнопкой мыши + Экспорт исходного кода. –
Конечно, в этом файле winmd не будет никакого кода, так как файлы winmd являются только метаданными, но вы можете увидеть определения методов, которые вы получите через intellisense. –
Что вы пытаетесь сделать? Это может помочь изменить ответ. –