This is a prototype demonstrating an implementation of ICreateTypeLib & ICreateTypeInfo API within .NET Core 3.1. This aims to replace the functionality of .NET Framework's tlbexp.exe / regasm.exe / TypeLibConverter class. The .NET Core classes can be COM-visible and even can support dispatch / dual interfaces but to use those requires a type library to be generated. Currently, there is no tool within .NET Core to support it. There are workarounds but they require use of other build tools (e.g. MIDL compiler or .NET Framework). This prototype is completely implemented in .NET Core 3.1 and tries to emulate at least some of the behavior provided by the existing tools such as using the same COM Interop attributes for describing how to marshal a .NET Type to COM.
This however is very an incomplete prototype, capable of generating only a very basic & simple type library. The API are highly experimental and are subject to change.