Novedades de .NET Core 3.1

En este artículo se describen las novedades de .NET Core 3.1. Esta versión contiene ligeras mejoras de .NET Core 3.0, y se centra en pequeñas correcciones, pero importantes. La característica más importante sobre .NET Core 3.1 es que es una versión de soporte técnico a largo plazo (LTS).

Si usa Visual Studio 2019, tendrá que actualizar a Visual Studio 2019, versión 16.4 o posterior para trabajar con proyectos de .NET Core 3.1. Para obtener información sobre las novedades de la versión 16.4 de Visual Studio, vea Novedades de la versión 16.4 de Visual Studio 2019.

Visual Studio para Mac también admite e incluye .NET Core 3.1 en Visual Studio para Mac 8.4.

Para más información sobre la versión, consulte el anuncio de .NET Core 3.1.

Compatibilidad a largo plazo

.NET Core 3.1 es una versión LTS con soporte técnico de Microsoft durante tres años tras su lanzamiento. Se recomienda encarecidamente mover las aplicaciones a la versión más reciente de LTS. Consulte la página de directivas de soporte técnico de .NET y .NET Core para obtener una lista de las versiones admitidas.

Release Fecha final del ciclo de vida
.NET Core 3.1 Fin del ciclo de vida el 13 de diciembre de 2022.
.NET Core 3.0 Fin del ciclo de vida el 3 de marzo de 2020.
.NET Core 2.2 Fin del ciclo de vida el 23 de diciembre de 2019.
.NET Core 2.1 Fin del ciclo de vida el 21 de agosto de 2021.

Para más información, consulte la directiva de soporte técnico de .NET y .NET Core.

appHost y certificación de macOS

Solo para macOS

A partir del SDK de .NET Core 3.1 para macOS, la configuración de appHost está deshabilitada de forma predeterminada. Para obtener más información, vea Certificación de macOS Catalina y el impacto en las descargas y proyectos de .NET Core.

Cuando la configuración de appHost está habilitada, .NET Core genera un ejecutable Mach-O nativo al compilar o publicar. La aplicación se ejecuta en el contexto de appHost cuando se ejecuta desde el código fuente con el comando dotnet run o mediante el inicio directo del ejecutable Mach-O.

Sin appHost, la única manera en la que un usuario puede iniciar una aplicación dependiente del marco es con el comando dotnet <filename.dll>. Siempre se crea un instancia de appHost al publicar la aplicación de manera independiente.

Puede configurar appHost en el nivel de proyecto, o bien cambiar la instancia de appHost de un comando dotnet específico con el parámetro -p:UseAppHost:

  • Archivo del proyecto

    <PropertyGroup>
      <UseAppHost>true</UseAppHost>
    </PropertyGroup>
    
  • Parámetro de línea de comandos

    dotnet run -p:UseAppHost=true
    

Para obtener más información sobre la configuración de UseAppHost, vea Propiedades de MSBuild para Microsoft.NET.Sdk.

Windows Forms

Solo Windows

Advertencia

Hay cambios importantes en Windows Forms.

Se incluyeron controles heredados en Windows Forms que llevan un tiempo sin estar disponibles en el cuadro de herramientas del diseñador de Visual Studio. Estos controles se volvieron a reemplazar por otros nuevos en .NET Framework 2.0 y se han quitado del SDK de escritorio para .NET Core 3.1.

Control eliminado Reemplazo recomendado API asociadas eliminadas
DataGrid DataGridView DataGridCell
DataGridRow
DataGridTableCollection
DataGridColumnCollection
DataGridTableStyle
DataGridColumnStyle
DataGridLineStyle
DataGridParentRowsLabel
DataGridParentRowsLabelStyle
DataGridBoolColumn
DataGridTextBox
GridColumnStylesCollection
GridTableStylesCollection
HitTestType
ToolBar ToolStrip ToolBarAppearance
ToolBarButton ToolStripButton ToolBarButtonClickEventArgs
ToolBarButtonClickEventHandler
ToolBarButtonStyle
ToolBarTextAlign
ContextMenu ContextMenuStrip
Menu ToolStripDropDown
ToolStripDropDownMenu
MenuItemCollection
MainMenu MenuStrip
MenuItem ToolStripMenuItem

Se recomienda actualizar las aplicaciones a .NET Core 3.1 y pasar a los controles de reemplazo. Reemplazar los controles es un proceso sencillo; se trata básicamente de "buscar y reemplazar" el tipo.

C++/CLI

Solo Windows

Se ha agregado compatibilidad con la creación de proyectos de C++/CLI (lo que también se conoce como "C++ administrado"). Los archivos binarios generados a partir de estos proyectos son compatibles con .NET Core 3.0 y versiones posteriores.

Para agregar compatibilidad con C++/CLI a Visual Studio 2019 versión 16.4, instale la carga de trabajo Desarrollo para el escritorio con C++. Esta carga de trabajo agrega dos plantillas a Visual Studio:

  • Biblioteca de clases de CLR (.NET Core)
  • Proyecto vacío de CLR (.NET Core)

Pasos siguientes