Solución:
Como la otra respuesta elude, .NET Core en sí es multiplataforma, pero no ofrece ninguna solución GUI. Puede ejecutar aplicaciones de consola / terminal, así como aplicaciones web, pero no aplicaciones de escritorio.
En este momento, no existe una tecnología oficial de Microsoft que resuelva una GUI multiplataforma. Los dos que conozco son Avalonia y Eto.Forms. Ambos tienen sus pros y sus contras, y ambos tienen errores. No en el sentido de que sea inutilizable, sino en el sentido de que es una tecnología en evolución, no espere que le hagan volar la cabeza.
Guías para comenzar:
- Avalonia – http://avaloniaui.net/guides/quickstart
- Eto.Forms – https://dotnetcoretutorials.com/2018/03/19/cross-platform-winforms-kinda/
1) Las aplicaciones de consola en .NET core ya son multiplataforma.
2) Para aquellos que trabajan con una GUI, .NET core finalmente tiene una opción de GUI multiplataforma compatible oficialmente con Microsoft llamada .NET MAUI
Esto se basa en las mismas API que Xamarian Forms.
Repositorio oficial de .NET MAUI Github
Si entiendo correctamente su pregunta, podría dividirse en dos preguntas.
1) Cómo crear una aplicación principal .net multiplataforma
2) Cómo crear una aplicación de interfaz de usuario central .net multiplataforma
Para responder a la segunda (2) pregunta: no es posible crear aplicaciones multiplataforma usando solo bibliotecas .net core y microsoft. Lo que necesita es una biblioteca de interfaz de usuario multiplataforma con enlace para todas sus plataformas de destino. El primer resultado de búsqueda que obtengo es Avalonia https://github.com/AvaloniaUI/Avalonia
Dudo que sea una tarea fácil hacer que funcione, ya que todas las alternativas parecen ser experimentales y / o beta. Pero ciertamente puedes demostrar que estoy equivocado.
¡Buena suerte!