PInvoke is a really nice system to handle native interop, but introduces so much complexity in terms of tool chain and platform specific issues I'm not sure .net core (which is supposed to be cross platform out of the box) is the best use case.
Cool guide though.