¿Cuál es exactamente la diferencia entre .NET Core y ASP.NET Core?
¿Son mutuamente excluyentes? Escuché que ASP.NET Core se basa en .NET Core, pero también se puede construir en el marco completo de .NET.
Entonces, ¿qué es exactamente ASP.NET Core?
asp.net-core
.net-core
blubberbo
fuente
fuente
Respuestas:
Actualización 2020 : tenga en cuenta que ASP.NET Core 3 y superior ahora dependen de .NET Core y ya no se pueden usar en .NET Framework. La siguiente descripción es para ASP.NET Core 1.x-2.x; la separación de capas sigue siendo válida para ASP.NET Core 3.0, pero la capa ASP.NET Core ya no se puede usar sobre .NET Framework en 3.0+.
.NET Core es un tiempo de ejecución. Puede ejecutar aplicaciones creadas para ello.
ASP.NET Core es una colección de bibliotecas que forman un Framework para construir aplicaciones web. Las bibliotecas ASP.NET Core se pueden usar tanto en .NET Core como en "Full .NET Framework" (que se ha incluido con Windows durante muchos años).
La parte confusa es que una aplicación que usa las bibliotecas y herramientas de ASP.NET Core generalmente se conoce como "Aplicación ASP.NET Core", que en teoría no dice si está construida para .NET Core o .NET Framework. Entonces, una "Aplicación Core de ASP.NET" es también una "Aplicación Core de .NET" o una "Aplicación Framework de .NET".
Esta imagen muestra la relación de las tecnologías involucradas (tomada de esta publicación de blog )
Aquí puede ver que ASP.NET Core está construido "encima" de .NET Framework y .NET Core, mientras que "ASP.NET" (ahora conocido como "ASP.NET clásico") es solo .NET Framework.
fuente
ASP.NET Core
a continuación, en el servidor web lo que necesitamos para instalar.NET Core Runtime
yASP.NET Core runtime
o simplementeASP.NET Core runtime
es suficienteASP.NET Core con .NET Core : todas las dependencias son independientes, pueden usar la mayoría de los paquetes NuGet, no pueden usar paquetes específicos de Windows, pueden ejecutarse en Windows, Linux y Mac.
ASP.NET Core usando .NET Framework : la mayoría de las dependencias son independientes, solo se ejecutan en Windows, tendrán acceso a paquetes NuGet específicos de Windows, necesitan la versión de .NET framework que está instalada en la máquina.
fuente
ASP.NET Core es una de las cargas de trabajo compatibles con .NET Core.
De la guía de .NET Core :
fuente
.NET Framework está en su última versión. No habrá otro después de 4.8. Microsoft continuará con .NET Core. A partir de este momento, debe preferir .NET Core en sus proyectos.
fuente
Además, me gustaría agregar que podría ayudar a alguien.
Hay algo llamado inyección de middleware en la canalización de solicitudes de .NET Core. Si se implementa correctamente, esto es muy útil, ya que puede interceptar excepciones de aplicaciones automáticamente y hace que el registro sea mucho más fácil en un lugar en lugar de iniciar sesión en todos los métodos.
fuente