我想创build一个工具,接受一个。 winmd
文件(Windows运行时组件)并生成一个C#DLL(包含组件中定义的所有公共types)。
据我所知,标准的.NETreflectionAPI不能在.winmd文件上工作,而且必须使用Metadata Unmanaged API来访问这些信息。
问题是,是否有可能从Metadata API检索的信息中构buildC#程序集?
或者更好的是 – 是否有一个工具(如TLBIMP),已经做这个工作或类似的东西?
一个Windows元数据文件不包含任何代码 – 它只是一组类型定义。 而一个winmd文件是一个ECMA 335程序集,所以它已经是一个C#DLL(只需将其从.winmd重命名为.dll)即可。