Estoy bastante confundido sobre qué versión se prefiere realmente para las aplicaciones WPF.
Técnicamente, .NET Framework sería lo mejor por varias razones:
Pero mi lógica puede ser defectuosa, así que quiero estar seguro. La mayoría de las veces estoy confundido acerca de .NET 5.0, porque estoy casi seguro de que muchos NuGets no son compatibles con .NET Core, por lo que es posible que desee elegir .NET Framework por seguridad.
No se va a actualizar (excepto correcciones). Es un callejón sin salida hoy en día. Ir de esta manera puede brindarle estabilidad y compatibilidad con muchas bibliotecas, pero evitará que reciba nuevas funciones.
Salir este año es la continuación de facto de los esfuerzos de .Net. Se unirá a lo que estaba disponible en .net framework y tiene sentido mantenerlo vivo en el mundo de .net core. Aunque comenzó como una reimplementación multiplataforma del marco, ahora también se convirtió en el punto neto definitivo para Windows.
Espero que esto obtenga la mayor tracción.
Fue un antiguo candidato para entregar la unificación que finalmente se entregó en 6.0 pero no se pudo hacer en la línea de tiempo 5.0 debido a la pandemia.
No es una característica completa y no puede competir con todo lo que estaba en .NET Framework.
Si tuviera que elegir, optaría por la versión 5.0 o la versión 6.0, dependiendo de cuándo se suponga que se lanzará su producto.
En la mayoría de los casos, debe usar la última versión de .NET (actualmente es .NET 5) al crear nuevas aplicaciones. .NET Framework tiene la ventaja de estar instalado en Windows moderno de forma predeterminada, pero carece de nuevas funciones y mejoras. Además, las plantillas de .NET Framework están en formato heredado, por lo que si necesitara las nuevas funciones más adelante, tendría que convertir sus proyectos. Por otro lado, si comienza con plantillas de .NET, puede simplemente agregar la compatibilidad con .NET Framework más adelante sin conversión. .NET Core 3.1 es una rama LTS que es principalmente relevante si su aplicación debe funcionar durante varios años sin cambios.
Todas las versiones principales de .NET incluyen importantes mejoras de rendimiento, por lo que es razonable utilizar la versión más reciente incluso si no necesita funciones nuevas.
Actualmente, la mayoría de los paquetes de NuGet son compatibles con .NET Standard 2.0, por lo que son compatibles con todos los tiempos de ejecución enumerados. Es probable que los paquetes que solo admiten .NET Framework se abandonen y no se deben usar en aplicaciones nuevas. Algunos paquetes incluso han eliminado la compatibilidad con .NET Standard y apuntan exclusivamente a la última versión de .NET (como el próximo Entity Framework Core 6). A medida que pase el tiempo, seguirán más y más paquetes.