He estado manteniendo la cabeza gacha trabajando en varios proyectos y aparentemente Microsoft ha estado ocupado haciendo algunos cambios importantes y me está confundiendo muchísimo. ASP.NET Core apareció por primera vez en mi radar cuando instalé Visual Studio 2017 el año pasado y fui a crear un nuevo proyecto y de repente tenía opciones de .NET Framework, .NET Standard y .NET Core. Así que los investigué un poco y vi que los dos últimos son, de alguna manera, versiones abreviadas del marco completo. Leí esta publicación de Scott Hanselman ASP.NET 5 está muerto: presentamos ASP.NET Core 1.0 y .NET Core 1.0 También encontré esto, que me alejó de ASP.NET Core: elegir entre ASP.NET y ASP.NET Core . Mi conclusión fue "Core es nuevo, está bien para seguir usando el marco completo". Así que creé un nuevo sitio ASP.NET MVC usando .NET Framework 4.6.2 y Microsoft.AspNet.Mvc 5.2.3.
Desde la creación de ese proyecto, encontré lo que parecían ser algunos errores tanto en MVC como en Entity Framework, solo para descubrir que la única mención de ellos en la web parece estar en Core y ese es el único lugar donde se está considerando corregirlos.
Ahora, hoy, estoy tratando de buscar la documentación en System.Web.Mvc.Controller y System.Web.Mvc.JsonResult y desapareció, excepto en la documentación principal. ¿Finalmente lo desenterré aquí donde dice que ya no se le da mantenimiento?
Entendí mucho sobre Core y dije: "Está bien, ¿por qué debería importarme? Voy a seguir haciendo lo que estoy haciendo y volveré a comprobarlo cuando esté terminado". Pero ahora parece que 4.6.2 ya ni siquiera es compatible. ¿Alguien puede explicar lo que está pasando? ¿Mi proyecto NET 4.6.2/MVC 5.2.3 ahora está obsoleto antes de que termine de escribirlo? Si no, ¿por qué se ha retirado y escondido la documentación? Me preocupa que algunas de mis dependencias ni siquiera estén disponibles o no sean compatibles con Core.
Esta respuesta intentará centrarse solo en ASP.NET MVC 5 y en la menor cantidad posible de ASP.NET Core.
Ciclo de vida del producto
Microsoft todavía admite esto (así que, afortunadamente, no es una versión "de corta duración" de la otra respuesta), y aún no hay un anuncio de fin de vida,
Retiro del Marco/Producto
ASP.NET MVC 4 1 de julio de 2019
ASP.NET MVC 5
Entonces, si lo desea, puede seguir usándolo (como los usuarios de VB6 y ASP clásico, que aún cuentan con el soporte de Microsoft).
.NET Framework 4.5.2 y superior siguen siendo totalmente compatibles si consulta la documentación de Microsoft sobre el ciclo de vida del producto.
Mantenimiento
Sin embargo, debe tener en cuenta que ASP.NET MVC 5 está en modo de mantenimiento, ya que casi todos los recursos de desarrollo están en ASP.NET Core en este momento.
lo consigues,
Si supervisa los paquetes NuGet relevantes, debe notar que incluso recientemente Microsoft los actualiza para remediar las vulnerabilidades de seguridad, etc.
El aviso que vio de Microsoft Docs, de hecho, enfatiza en la primera oración "Ya no estamos actualizando este contenido regularmente". Eso tiene mucho sentido ya que ASP.NET MVC 5 es sólido como una roca, por lo que no debe esperar que se agreguen más materiales nuevos.
Dijiste: "Desde que creé ese proyecto, encontré lo que parecían ser algunos errores tanto en MVC como en Entity Framework, solo para descubrir que la única mención de ellos en la web parece estar en Core y ese es el único lugar en el que se está considerando corregirlos". ."
Bueno, realmente depende de qué "errores" estés hablando. Como dije anteriormente, los problemas relacionados con la seguridad aún se están reparando, pero es menos probable que se solucionen los errores con soluciones alternativas o limitaciones funcionales. Es un proyecto de código abierto, por lo que si realmente lo desea, puede solucionar los problemas por su cuenta, como último recurso.
En el lado de las nuevas características, Microsoft respalda algunas características de ASP.NET Core, como la inyección de dependencia, el nuevo sistema de configuración, para simplificar la migración en cierto grado. Pero no esperes mucho.
Migración
Considere migrar a ASP.NET Core si puede.
Encontré que este fragmento de la introducción a este artículo en Wikipedia es un gran resumen de la gran respuesta proporcionada aquí como la respuesta seleccionada . Lo mismo se originó en esta publicación de blog de Microsoft: https://devblogs.microsoft.com/dotnet/introducing-net-5/
(Enlazaré todas las tecnologías mencionadas, cuando sea posible, a su propio artículo de Wikipedia, para leer más).
Lanzamiento final de ASP.NET MVC: 28 de noviembre de 2018. Desde entonces, se lanzó ASP.NET Core , que unificó ASP.NET , ASP.NET MVC , ASP.NET Web API y ASP.NET Web Pages (una plataforma que usa solo Razor páginas). MVC 6 se abandonó debido a Core y no se espera que se lance. Core está actualmente planeado para fusionarse con " .NET 5".