Me gustaría desarrollar una aplicación de escritorio multiplataforma utilizando .net Core. La aplicación debe ejecutarse en Linux, Mac OS y Windows. Para ese propósito, ¿debería crear una aplicación de consola y poner debajo de las líneas en la configuración xml?

<PropertyGroup>
   <RuntimeIdentifiers>win10-x64;osx.10.12-x64;debian.8-x64</RuntimeIdentifiers>
</PropertyGroup>

¿Será suficiente? Si es así, ¿debería escribir todas las plataformas y separarlas por comas?

win7-x32; win10-x64; ...

Si no es la respuesta, ¿cómo puedo generar aplicaciones de escritorio multiplataforma con .net Core?

4
Dilara Albayrak 23 feb. 2018 a las 17:32

5 respuestas

La mejor respuesta

Como se escapa a la otra respuesta, .NET Core es multiplataforma, pero no ofrece ninguna solución GUI. Puede ejecutar aplicaciones de consola / terminal, así como aplicaciones web, pero no aplicaciones de escritorio.

A partir de ahora, 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 es inutilizable, sino en el sentido de que está evolucionando la tecnología, no esperes que te vuelvan loco de la nada.

Guías para comenzar:

10
MindingData 20 mar. 2018 a las 04:09

Si entiendo su pregunta correctamente, podría dividirse en dos preguntas.

1) Cómo crear una aplicación .net core multiplataforma

2) Cómo crear una aplicación multiplataforma .NET core UI

Para responder a la segunda (2) pregunta: no es posible crear aplicaciones multiplataforma utilizando solo las 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!

3
Peter Klaesson 23 feb. 2018 a las 14:58

Tiene muchas soluciones para crear una aplicación multiplataforma con .NET Core:

  1. Electron.NET
  2. Avalonia
  3. ...

Si desea información detallada sobre cómo hacerlo, debe consultar un libro dedicado que proporcione ejemplos de proyectos para .NET Core 3 Aquí. Con eso encontrarás la IU más adaptada para tu aplicación.

2
TomJackson 18 dic. 2019 a las 20:09

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 Xamarin Forms.

Repo oficial de .NET MAUI Github

0
Zachary Canann 20 may. 2020 a las 05:29

Puedes probar electron.js en su lugar. En la actualidad es bastante difícil construir una aplicación de escritorio multiplataforma solo con .NET Core

3
faiaz000 26 mar. 2019 a las 05:04