Я пытаюсь сделать то, что описано в заголовке вопроса.Для этого я нашел только один способ, но id не дает ожидаемых результатов.
Я делаю следующее:
System.Type type = ...; //known System.Type instance;
var dom = ProjectDomService.GetAssemblyDom(project.TargetRuntime, type.Assembly.FullName);
После этого (как я и ожидал) dom.Types
должно содержатьвся экспортированная сборка напечатана, но она пуста;
Есть ли способ получить IType от Type?
UPD: (решено)
Здесь код, помогающий получить правильныйЭкземпляр AssemblyDom, а затем Get IType по имени:
string assemblyName = targetRuntime.AssemblyContext
.GetAssemblyNameForVersion(type.Assembly.FullName, targetFramework);
var assemblyLocation = targetRuntime.AssemblyContext
.GetAssemblyLocation(assemblyName, targetFramework);
var assemblyDom = ProjectDomService.GetAssemblyDom(targetRuntime, assemblyLocation);
var t = assemblyDom.GetType(type.FullName);