Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come aggiornare un ASP.NET Core in .NET 9 a ASP.NET Core in .NET 10.
Prerequisiti
Visual Studio 2022 con il carico di lavoro ASP.NET e sviluppo Web .
Aggiornare la versione di .NET SDK in global.json
Se si fa affidamento su un global.json file per specificare una versione specifica di .NET SDK, aggiornare la version proprietà alla versione di .NET 10 SDK installata. Per esempio:
{
"sdk": {
- "version": "9.0.304"
+ "version": "10.0.100"
}
}
Aggiornare il framework di destinazione
Aggiornare il moniker del framework di destinazione del file di progetto (TFM) a net10.0:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>net9.0</TargetFramework>
+ <TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
</Project>
Aggiornare i riferimenti del pacchetto
Nel file di progetto aggiornare ogni Microsoft.AspNetCore.*attributo di riferimento al pacchetto Microsoft.EntityFrameworkCore.* , Microsoft.Extensions.*System.Net.Http.Json, e Version alla versione 10.0.0 o successiva. Per esempio:
<ItemGroup>
- <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="9.0.0" />
- <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0" />
- <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="9.0.0" />
- <PackageReference Include="System.Net.Http.Json" Version="9.0.0" />
+ <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="10.0.0" />
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0" />
+ <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="10.0.0" />
+ <PackageReference Include="System.Net.Http.Json" Version="10.0.0" />
</ItemGroup>
Blazor
Note sulla versione di Blazor
Per una nuova copertura delle funzionalità, vedere Novità di ASP.NET Core in .NET 10.
Impostare l'ambiente Blazor WebAssembly con la proprietà MSBuild WasmApplicationEnvironmentName
Questa sezione si applica solo alle app autonome Blazor WebAssembly .
Il Properties/launchSettings.json file non viene più usato per controllare l'ambiente nelle app autonome Blazor WebAssembly .
Impostare l'ambiente con la <WasmApplicationEnvironmentName> proprietà nel file di progetto dell'app (.csproj).
L'esempio seguente imposta l'ambiente dell'app su Staging:
<WasmApplicationEnvironmentName>Staging</WasmApplicationEnvironmentName>
Gli ambienti predefiniti sono:
-
Developmentper la compilazione. -
Productionper la pubblicazione.
File di configurazione di avvio integrato
BlazorLa configurazione di avvio, che prima del rilascio di .NET 10 esisteva in un file denominato blazor.boot.json, è stata inserita nello dotnet.js script. Ciò influisce solo sugli sviluppatori che interagiscono direttamente con il blazor.boot.json file, ad esempio quando gli sviluppatori sono:
- Controllo dell'integrità dei file per gli asset pubblicati con lo script PowerShell per la risoluzione dei problemi relativi all'integrità, secondo le indicazioni riportate in ASP.NET Core errori di controllo dell'integrità e della memorizzazione nella cacheBlazor WebAssembly.
- Modifica dell'estensione dei file DLL quando non si utilizza il formato di file Webcil predefinito in base alle indicazioni in Ospitare e distribuire ASP.NET Core Blazor WebAssembly.
Attualmente non esiste una strategia di sostituzione documentata per gli approcci precedenti. Se è necessaria una delle strategie precedenti, aprire un nuovo problema di documentazione che descrive lo scenario usando il collegamento Apri un problema di documentazione nella parte inferiore di uno di questi articoli.
Modello dichiarativo per la persistenza dello stato dei componenti e dei servizi
Nelle versioni precedenti Blazor, il mantenimento dello stato del componente durante il prerendering usando il servizio PersistentComponentState richiedeva una notevole quantità di codice. A partire da .NET 10, è possibile specificare in modo dichiarativo lo stato da rendere persistente dai componenti e dai servizi usando l'attributo [PersistentState] . Per altre informazioni, vedere Novità di ASP.NET Core in .NET 10.
Cache personalizzata Blazor e BlazorCacheBootResources proprietà MSBuild rimosse
Ora che tutti i Blazor file sul lato client hanno un'impronta digitale e sono memorizzati nella cache dal browser, Blazor il meccanismo di memorizzazione nella cache personalizzata e la BlazorCacheBootResources proprietà MSBuild non sono più disponibili. Se il file di progetto sul lato client contiene la proprietà MSBuild, rimuovere la proprietà , perché non ha più alcun effetto:
- <BlazorCacheBootResources>...</BlazorCacheBootResources>
Per ulteriori informazioni, vedere ASP.NET Core: errori di memorizzazione nella cache e controllo dell'integritàBlazor WebAssembly.
Adottare l'autenticazione utente passkey in un'istanza esistente Blazor Web App
Per indicazioni, vedere Implementare passkey in ASP.NET Core Blazor Web Apps.
Quando gli errori di spostamento sono disabilitati in un Blazor Web App oggetto con singoli account
Questa sezione si applica a Blazor Web Apps che imposta la <BlazorDisableThrowNavigationException> proprietà MSBuild su true per evitare di generare un'eccezione di navigazione durante il rendering statico lato server (SSR statico).
È IdentityRedirectManager stato generato un oggetto InvalidOperationException nel RedirectTo metodo per assicurarsi che il metodo non sia stato chiamato da una modalità di rendering interattiva e che tutti i metodi di reindirizzamento siano stati contrassegnati con l'attributo[DoesNotReturn] . Il modello di progetto .NET 10 o versione successiva Blazor Web App imposta la <BlazorDisableThrowNavigationException> proprietà MSBuild su true nel file di progetto dell'app per evitare di generare l'eccezione durante il ssr statico. Se un'app basata sul modello di progetto da una versione precedente di .NET viene aggiornata a .NET 10 o versione successiva e include la <BlazorDisableThrowNavigationException> proprietà MSBuild impostata su true, apportare le modifiche seguenti. Per altre informazioni, vedere Novità di ASP.NET Core in .NET 10.
In Components/Account/IdentityRedirectManager.cs:
Rimuovere dal InvalidOperationException
RedirectTometodo :- throw new InvalidOperationException( - $"{nameof(IdentityRedirectManager)} can only be used during static rendering.");Rimuovere cinque istanze dell'attributo
[DoesNotReturn]dal file:- [DoesNotReturn]
Modifiche radicali
Usare gli articoli in Modifiche di rilievo in .NET per trovare modifiche di rilievo che potrebbero essere applicate durante l'aggiornamento di un'app a una versione più recente di .NET.