Novità di .NET Core 3.1

Questo articolo descrive le novità di .NET Core 3.1. Questa versione contiene miglioramenti secondari a .NET Core 3.0, con focus su piccole ma importanti correzioni. La funzionalità più importante di .NET Core 3.1 è che si tratta di una versione Long-Term Support (LTS).

Se si usa Visual Studio 2019, per usare i progetti .NET Core 3.1 è necessario eseguire l'aggiornamento a Visual Studio 2019 versione 16.4 o successiva. Per informazioni sulle novità di Visual Studio versione 16.4, vedere Novità di Visual Studio 2019 versione 16.4.

Visual Studio per Mac supporta e include anche .NET Core 3.1 in Visual Studio per Mac 8.4.

Per altre informazioni sulla versione, vedere l'annuncio di .NET Core 3.1.

Supporto a lungo termine

.NET Core 3.1 è una versione LTS, con supporto Microsoft per tre anni dopo il rilascio. È altamente consigliato lo spostamento delle app nella versione LTS più recente. Per un elenco delle versioni supportate, vedere la pagina dei criteri di supporto di .NET e .NET Core.

Versione Data di scadenza
.NET Core 3.1 Fine vita, 13 dicembre 2022.
.NET Core 3.0 Fine vita, 3 marzo 2020.
.NET Core 2.2 Fine vita, 23 dicembre 2019.
.NET Core 2.1 Fine vita, 21 agosto 2021.

Per altre informazioni, vedere i criteri di supporto di .NET e .NET Core.

appHost e autenticazione macOS

Solo macOS

A partire da .NET Core SDK 3.1 per macOS, l'impostazione appHost è disabilitata per impostazione predefinita. Per altre informazioni, vedere macOS Catalina Notarization e l'impatto sui download e sui progetti .NET Core.

Quando l'impostazione appHost è abilitata, .NET Core genera un eseguibile Mach-O nativo durante la compilazione o la pubblicazione. L'app viene eseguita nel contesto di appHost quando viene eseguita dal codice sorgente con il comando dotnet run o avviando direttamente il file eseguibile Mach-O.

Senza appHost, l'unico modo in cui un utente può avviare un'app dipendente dal framework è tramite il comando dotnet <filename.dll>. Un appHost viene sempre creato quando si pubblica l'app autonoma.

È possibile configurare appHost a livello di progetto, oppure attivarlo o disattivarlo per uno specifico comando dotnet con il parametro -p:UseAppHost:

  • File di progetto

    <PropertyGroup>
      <UseAppHost>true</UseAppHost>
    </PropertyGroup>
    
  • Parametro della riga di comando

    dotnet run -p:UseAppHost=true
    

Per altre informazioni sull'impostazione UseAppHost, vedere Proprietà di MSBuild per Microsoft.NET.Sdk.

WinForms

Solo Windows:

Avviso

Sono state apportate modifiche di rilievo in Windows Forms.

I controlli legacy sono stati inclusi in Windows Forms che non sono stati disponibili nella casella degli strumenti di Progettazione di Visual Studio per un certo periodo di tempo. Sono stati sostituiti con nuovi controlli in .NET Framework 2.0. Sono stati rimossi da Desktop SDK per .NET Core 3.1.

Controllo rimosso Sostituzione consigliata API associate rimosse
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

È consigliabile aggiornare le applicazioni a .NET Core 3.1 e passare ai controlli di sostituzione. La sostituzione dei controlli è un processo semplice, essenzialmente del tipo "trova e sostituisci".

C++/CLI

Solo Windows

È stato aggiunto il supporto per la creazione di progetti C++/CLI, noti anche come progetti "C++ gestiti". I file binari prodotti da tali progetti sono compatibili con .NET Core 3.0 e versioni successive.

Per aggiungere il supporto per C++/CLI in Visual Studio 2019 versione 16.4, installare il carico di lavoro Sviluppo di applicazioni desktop con C++. Questo carico di lavoro aggiunge due modelli a Visual Studio:

  • Libreria di classi CLR (.NET Core)
  • Progetto vuoto CLR (.NET Core)

Passaggi successivi