Da poco più di un mese, ASP.NET Core 2.2 è uscito dalla preview ed è finalmente disponibile come release definitiva (https://blogs.msdn.microsoft.com/webdev/2018/12/04/asp-net-core-2-2-available-today/).
Nelle prossime settimane daremo un'occhiata a quali sono le novità introdotte da questa nuova versione, ma al momento cerchiamo di capire quali passi siano necessari per migrare le nostre applicazioni esistenti.
Fortunatamente, come era accaduto anche per la release 2.1, grazie all'uso di NuGet per la distribuzione dei pacchetti, la migrazione è piuttosto indolore.
Innanzi tutto il pre-requisito è di aggiornare Visual Studio 2017 almeno alla versione 15.9, cosa che possiamo fare dall'interno dell'ambiente di sviluppo tramite le notifiche o nella sezione Extensions and Updates.
Successivamente, dobbiamo modificare i file di progetto come indicato in basso:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.Extensions.Caching.Redis" Version="2.2.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.0" /> <!-- altro codice qui --> </ItemGroup> <!-- altro codice qui --> </Project>
Più in dettaglio:
- Abbiamo impostato il TargetFramework alla versione netcoreapp2.2;
- Abbiamo modificato le reference del package Microsoft.AspNetCore.App omettendo il numero di versione;
- Nel caso di un'applicazione MVC, dobbiamo anche impostare la versione di Microsoft.VisualStudio.Web.CodeGeneration.Design a 2.2.0;
- alcuni package dipendenti di ASP.NET Core, ma non inclusi nel bundle, come Microsoft.Extensions.Caching.Redis nell'esempio in alto, potrebbero richiedere di essere migrati alla versione 2.2.0.
Il passo successivo è quello di agire sulla classe di startup Program, aggiungendo la chiamata al metodo ConfigureKestrel, in cui possiamo configurare diversi aspetti del web server. Ci occuperemo di questo metodo nei successivi script.
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .ConfigureKestrel((context, options) => { });
Come ultimo passaggio, dobbiamo impostare il livello di compatibilità della pipeline a 2.2, all'interno della classe Startup:
public void ConfigureServices(IServiceCollection services) { services.AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // .. altro codice qui .. }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire il colore CSS con HWB
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Creare una libreria CSS universale: Nav menu
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Collegare applicazioni server e client con .NET Aspire
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Simulare Azure Cosmos DB in locale con Docker
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Migliorare la sicurezza dei prompt con Azure AI Studio
Recuperare l'ultima versione di una release di GitHub
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Generare una User Delegation SAS in .NET per Azure Blob Storage
- Rendere le variabili read-only in una pipeline di Azure DevOps
- Utilizzare l'attributo accesskey in HTML
- .NET Conference Italia 2024 - Milano