Compartir a través de


Novedades de .NET Standard

.NET Standard es una especificación formal que define un conjunto de API con versiones que deben estar disponibles en implementaciones de .NET que cumplan con esa versión del estándar. .NET Standard está dirigido a desarrolladores de bibliotecas. Una biblioteca destinada a una versión de .NET Standard se puede usar en cualquier implementación de .NET que admita esa versión del estándar.

.NET Standard se incluye con el SDK de .NET. También se incluye con Visual Studio si selecciona la carga de trabajo de .NET.

.NET Standard 2.1 es la última versión de .NET Standard que se publicará. Para obtener más información, consulte .NET 5+ y .NET Standard.

Implementaciones de .NET admitidas

.NET Standard 2.1 es compatible con las siguientes implementaciones de .NET:

  • .NET Core 3.0 o posterior (incluido .NET 5 y versiones posteriores)
  • Mono 6.4 o versiones posteriores

.NET Standard 2.0 es compatible con las siguientes implementaciones de .NET:

  • .NET Core 2.0 o posterior (incluido .NET 5 y versiones posteriores)
  • .NET Framework 4.6.1 o posterior
  • Mono 5.4 o versiones posteriores
  • Plataforma universal de Windows 10.0.16299 o posterior

Novedades de .NET Standard 2.1

.NET Standard 2.1 agrega muchas API al estándar. Algunas de ellas son nuevas API y otras son API existentes que ayudan a converger las implementaciones de .NET aún más. Para obtener una lista de las API que se han agregado a .NET Standard 2.1, consulte .NET Standard 2.1 frente a 2.0.

Para obtener más información, consulte el artículo de blog Anunciando .NET Standard 2.1.

Novedades de .NET Standard 2.0

.NET Standard 2.0 incluye las siguientes características nuevas.

Un conjunto ampliamente expandido de API

A través de la versión 1.6, .NET Standard incluía un subconjunto relativamente pequeño de API. Entre las excluidas se encontraban muchas API que se usaban habitualmente en .NET Framework. Esto complica el desarrollo, ya que requiere que los desarrolladores encuentren reemplazos adecuados para las API conocidas cuando desarrollan aplicaciones y bibliotecas destinadas a varias implementaciones de .NET. .NET Standard 2.0 aborda esta limitación agregando más de 20 000 API más de las que estaban disponibles en la versión anterior del estándar .NET Standard 1.6. Para obtener una lista de las API que se han agregado a .NET Standard 2.0, consulte .NET Standard 2.0 frente a 1.6.

Algunas de las adiciones al espacio de nombres System en .NET Standard 2.0 incluyen:

  • Compatibilidad con la clase AppDomain.
  • Mayor compatibilidad para trabajar con matrices de miembros adicionales en la clase Array.
  • Mayor compatibilidad para trabajar con atributos de miembros adicionales en la clase Attribute.
  • Mejor compatibilidad con el calendario y opciones de formato adicionales para los valores de DateTime.
  • Funcionalidad de redondeo Decimal adicional.
  • Funcionalidad adicional en la clase Environment.
  • Control mejorado sobre el recolector de elementos no utilizados en la clase GC.
  • Compatibilidad mejorada con la comparación de cadenas, la enumeración y la normalización en la clase String.
  • Compatibilidad con los ajustes de horario de verano y los tiempos de transición en las clases TimeZoneInfo.AdjustmentRule y TimeZoneInfo.TransitionTime.
  • Funcionalidad significativamente mejorada en la clase Type.
  • Mejor compatibilidad con la deserialización de objetos de excepción agregando un constructor de excepciones con parámetros SerializationInfo y StreamingContext.

Compatibilidad con bibliotecas de .NET Framework

Muchas bibliotecas tienen como destino .NET Framework en lugar de .NET Standard. Sin embargo, la mayoría de las llamadas en esas bibliotecas son a las APIs incluidas en .NET Standard 2.0. A partir de .NET Standard 2.0, puede acceder a las bibliotecas de .NET Framework desde una biblioteca de .NET Standard usando una corrección de compatibilidad. Esta capa de compatibilidad es transparente para los desarrolladores; No tiene que hacer nada para aprovechar las bibliotecas de .NET Framework.

El único requisito es que las API llamadas por la biblioteca de clases de .NET Framework deben incluirse en .NET Standard 2.0.

Compatibilidad con Visual Basic

Ahora puede desarrollar bibliotecas de .NET Standard en Visual Basic. Visual Studio 2019 y Visual Studio 2017 versión 15.3 o posterior con la carga de trabajo de .NET Core instalada incluyen una plantilla de biblioteca de clases estándar de .NET. En el caso de los desarrolladores de Visual Basic que usan otras herramientas y entornos de desarrollo, puede usar el comando dotnet new dotnet para crear un proyecto de biblioteca estándar de .NET. Para obtener más información, consulte el soporte de herramientas de para las bibliotecas de .NET Standard.

Soporte de herramientas para bibliotecas de .NET Standard

Con el lanzamiento de .NET Core 2.0 y .NET Standard 2.0, Visual Studio 2017 y la CLI de .NET incluyen compatibilidad con herramientas para crear bibliotecas de .NET Standard.

Si instala Visual Studio con la carga de trabajo de desarrollo multiplataforma de .NET Core, puede crear un proyecto de biblioteca de .NET Standard 2.0 al usar una plantilla de proyecto, como se muestra en la ilustración siguiente:

Agregar nuevo proyecto de biblioteca de .NET Standard

Si usa la CLI de .NET, el siguiente comando de dotnet new crea un proyecto de biblioteca de clases destinado a .NET Standard 2.0:

dotnet new classlib

Consulte también