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.