自动将winmd转换为DLL

我想创build一个工具,接受一个。 winmd文件(Windows运行时组件)并生成一个C#DLL(包含组件中定义的所有公共types)。

据我所知,标准的.NETreflectionAPI不能在.winmd文件上工作,而且必须使用Metadata Unmanaged API来访问这些信息。

问题是,是否有可能从Metadata API检索的信息中构buildC#程序集?

或者更好的是 – 是否有一个工具(如TLBIMP),已经做这个工作或类似的东西?

一个Windows元数据文件不包含任何代码 – 它只是一组类型定义。 而一个winmd文件是一个ECMA 335程序集,所以它已经一个C#DLL(只需将其从.winmd重命名为.dll)即可。