Información general de ASP.NET Core

Por Daniel Roth, Rick Anderson y Shaun Luttin

Nota:

Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 9 de este artículo.

Advertencia

Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulta la Directiva de soporte técnico de .NET y .NET Core. Para la versión actual, consulta la versión .NET 8 de este artículo.

Importante

Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

Para la versión actual, consulte la versión de .NET 9 de este artículo.

ASP.NET Core es un marco multiplataforma de código abierto y de alto rendimiento que tiene como finalidad compilar aplicaciones modernas conectadas a Internet y habilitadas para la nube.

Con ASP.NET Core puede hacer lo siguiente:

  • Compilar servicios y aplicaciones web, aplicaciones de Internet de las cosas (IoT) y back-ends móviles.
  • Usar sus herramientas de desarrollo favoritas en Windows, macOS y Linux.
  • Efectuar implementaciones locales y en la nube.
  • Ejecute en .NET.

¿Por qué elegir ASP.NET Core?

Millones de desarrolladores usan o han usado ASP.NET 4.x para crear aplicaciones web. ASP.NET Core es un nuevo diseño de ASP.NET 4.x que incluye cambios en la arquitectura que dan como resultado un marco más sencillo y modular.

ASP.NET Core ofrece las siguientes ventajas:

Creación de API web e interfaces de usuario web mediante ASP.NET Core MVC

ASP.NET Core MVC proporciona características para crear API web y aplicaciones web:

Desarrollo del lado del cliente

ASP.NET Core incluye Blazor para crear una interfaz de usuario web enriquecidamente interactiva y también se integra con otros marcos populares de JavaScript front-end, como Angular, React, Vuey Bootstrap. Para obtener más información, vea Blazor de ASP.NET Core y los temas relacionados en Desarrollo del lado cliente.

Plataformas de destino de ASP.NET Core

ASP.NET Core 3.x o las versiones posteriores solo pueden tener como destino .NET.

El uso de .NET como destino cuenta con varias ventajas que van en aumento con cada versión. Entre las ventajas del uso de .NET en vez de .NET Framework se incluyen las siguientes:

Se recomienda realizar la siguiente secuencia de tutoriales a modo de introducción para desarrollar aplicaciones de ASP.NET Core:

  1. Realice el tutorial correspondiente al tipo de aplicación que quiera desarrollar o mantener.

    Tipo de aplicación Escenario Tutorial
    Aplicación web Nuevo desarrollo de interfaz de usuario web del lado servidor Primeros pasos con Razor Pages
    Aplicación web Mantener una aplicación de MVC Introducción a MVC
    Aplicación web Desarrollo de interfaz de usuario web del lado cliente Introducción a Blazor
    API Web Servicios HTTP RESTful Creación de una API web
    Aplicación de llamada a procedimiento remoto Servicios de contrato primero con búferes de protocolo Introducción a un servicio gRPC
    Aplicación en tiempo real Comunicación bidireccional entre servidores y clientes conectados Introducción a SignalR
  2. Realice un tutorial que muestra cómo realizar el acceso a datos básicos.

    Escenario Tutorial
    Nuevo desarrollo Razor Pages con Entity Framework Core
    Mantener una aplicación de MVC MVC con Entity Framework Core
  3. Lea una introducción a los conceptos básicos de ASP.NET Core aplicables a todos los tipos de aplicaciones.

  4. Examine la tabla de contenido para ver otros temas de interés.

†También hay un tutorial de API web interactivo. No es necesario instalar ninguna herramienta de desarrollo localmente. El código se ejecuta en un Azure Cloud Shell en el explorador, y se usa curl para realizar las pruebas.

Migración desde .NET Framework

Para obtener una guía de referencia para migrar aplicaciones de ASP.NET 4.x a ASP.NET Core, vea Actualización de ASP.NET a ASP.NET Core.

ASP.NET Core es un marco multiplataforma de código abierto y de alto rendimiento que tiene como finalidad compilar aplicaciones modernas conectadas a Internet y habilitadas para la nube. Con ASP.NET Core puede hacer lo siguiente:

¿Por qué elegir ASP.NET Core?

Millones de desarrolladores usan o han usado ASP.NET 4.x para crear aplicaciones web. ASP.NET Core es un nuevo diseño de ASP.NET 4.x que cuenta con cambios en la arquitectura que dan como resultado un marco más sencillo y modular.

ASP.NET Core ofrece las siguientes ventajas:

Creación de API web e interfaces de usuario web mediante ASP.NET Core MVC

ASP.NET Core MVC proporciona características para crear API web y aplicaciones web:

Desarrollo del lado del cliente

ASP.NET Core se integra perfectamente con bibliotecas y plataformas de trabajo populares del lado cliente, que incluyen Blazor, Angular, React, Vue y Bootstrap. Para obtener más información, vea Blazor de ASP.NET Core y los temas relacionados en Desarrollo del lado cliente.

ASP.NET Core con .NET Framework como destino

ASP.NET Core 2.x puede tener como destino .NET Core o .NET Framework. Las aplicaciones de ASP.NET Core que tienen como destino .NET Framework no son multiplataforma, sino que solo se ejecutan en Windows. Por lo general, ASP.NET Core 2.x está formado por bibliotecas de .NET Standard. Las bibliotecas escritas con .NET Standard 2.0 se ejecutan en cualquier plataforma .NET que implementa .NET Standard 2.0.

ASP.NET Core 2.x se admite en las versiones de .NET Framework que implementan .NET Standard 2.0:

  • Se recomienda encarecidamente usar la versión más reciente de .NET Framework.
  • .NET Framework 4.6.1 o superior.

ASP.NET Core 3.0 o las versiones posteriores solo se ejecutan en .NET Core. Para obtener más información sobre este cambio, vea A first look at changes coming in ASP.NET Core 3.0 (Descripción general de los cambios que se aplicarán a ASP.NET Core 3.0).

El uso de .NET Core como destino cuenta con varias ventajas que van en aumento con cada versión. Entre las ventajas del uso de .NET Core en vez de .NET Framework se incluyen las siguientes:

Para ayudar a cerrar la brecha de API existente entre .NET Framework y .NET Core, el paquete de compatibilidad de Windows ha permitido que miles de API solo de Windows estén disponibles en .NET Core. Estas API no estaban disponibles en .NET Core 1.x.

Se recomienda la siguiente secuencia de tutoriales y artículos para obtener una introducción para desarrollar aplicaciones de ASP.NET Core:

  1. Realice el tutorial correspondiente al tipo de aplicación que quiera desarrollar o mantener.

    Tipo de aplicación Escenario Tutorial
    Aplicación web Para un nuevo desarrollo Primeros pasos con Razor Pages
    Aplicación web Para mantener una aplicación MVC Introducción a MVC
    Web API Creación de una API web
    Aplicación en tiempo real Introducción a SignalR
  2. Realice un tutorial que muestra cómo realizar el acceso a datos básicos.

    Escenario Tutorial
    Para un nuevo desarrollo Razor Pages con Entity Framework Core
    Para mantener una aplicación MVC MVC con Entity Framework Core
  3. Lea una introducción a los conceptos básicos de ASP.NET Core aplicables a todos los tipos de aplicaciones.

  4. Examine la tabla de contenido para ver otros temas de interés.

†Hay también un tutorial de API web que se realiza completamente en el explorador; no es necesario instalar ningún IDE local. El código se ejecuta en un Azure Cloud Shell y se usa curl para realizar pruebas.

Migración desde .NET Framework

Para obtener una guía de referencia para migrar aplicaciones de ASP.NET a ASP.NET Core, vea Actualización de ASP.NET a ASP.NET Core.

Cómo descargar un ejemplo

En muchos de los artículos y tutoriales se incluyen vínculos a código de ejemplo.

  1. Descargue el archivo ZIP del repositorio de ASP.NET.
  2. Descomprima el archivo AspNetCore.Docs-main.zip.
  3. Para acceder a la aplicación de ejemplo de un artículo en el repositorio descomprimido, use la dirección URL del vínculo de ejemplo del artículo para ayudarle a navegar a la carpeta del ejemplo. Normalmente, el vínculo de ejemplo de un artículo aparece en la parte superior del artículo con el texto del vínculo View or download sample code (Ver o descargar código de ejemplo).

Directivas de preprocesador en código de ejemplo

Para mostrar varios escenarios, las aplicaciones de ejemplo usan las directivas de preprocesador #define y #if-#else/#elif-#endif para compilar de forma selectiva y ejecutar secciones distintas de código de ejemplo. Para los ejemplos que usan este enfoque, establezca la directiva #define en la parte superior de los archivos C# para definir el símbolo asociado con el escenario que quiera ejecutar. Algunos ejemplos requieren la definición del símbolo en la parte superior de varios archivos para ejecutar un escenario.

Por ejemplo, la siguiente lista de símbolos de #define indica que hay cuatro escenarios disponibles (un escenario por símbolo). La configuración de ejemplo actual ejecuta el escenario TemplateCode:

#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode

Para cambiar el ejemplo el escenario ExpandDefault, defina el símbolo ExpandDefault y deje los símbolos restantes comentados:

#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode

Para obtener información sobre cómo usar directivas de preprocesador de C# para compilar selectivamente secciones de código, vea #define (Referencia de C#) e #if (Referencia de C#).

Principales cambios y avisos de seguridad

Los cambios importantes y los avisos de seguridad se notifican en el repositorio de anuncios. Los anuncios se pueden limitar a una versión específica seleccionando un filtro de etiqueta.

Pasos siguientes

Para obtener más información, consulte los siguientes recursos: