Ultima modifica: 22 giugno 2021

Data di pubblicazione: 26 aprile 2021  

Perché Microsoft termina il supporto per .NET Framework 4.5.2, 4.6 e 4.6.1?

.NET Framework era in precedenza firmato digitalmente usando certificati che utilizzano l'algoritmo SHA-1 (Secure Hash Algorithm). SHA1- è un algoritmo di hash crittografico legacy che non è più considerato sicuro. Stiamo ritirando il contenuto firmato con certificati digitali che usavano SHA1 per supportare l'evoluzione degli standard di settore.

Dopo aver esaminato i dati di download e utilizzo nelle diverse versioni di .NET Framework, abbiamo scoperto che l'aggiornamento di .NET Framework 4.6.2 e versioni più recenti per supportare i certificati digitali più recenti (per gli installatori) soddisfa la stragrande maggioranza (98%) degli utenti senza che debbano apportare modifiche. Il piccolo set di utenti che usano .NET Framework 4.5.2, 4.6 o 4.6.1 dovrà eseguire l'aggiornamento a una versione successiva di .NET Framework per rimanere supportato. Non è necessario ricompilare le applicazioni. Data la natura di questo cambiamento, abbiamo deciso che l'assegnazione a .NET Framework 4.6.2 e versioni successive era il miglior equilibrio tra supporto e impegno.

Per altre informazioni, vedere questo articolo del supporto tecnico sul ritiro del contenuto SHA-1 .

Ricerca per categorie sapere se sono installate queste versioni?

Vedere l'articolo Determinazione delle versioni di .NET Framework installate.

Cosa devo fare se uso ancora queste versioni?

Se si usa .NET Framework 4.5.2, 4.6 o 4.6.1, è necessario passare a una versione di runtime più recente, almeno .NET Framework 4.6.2 e preferibilmente .NET Framework 4.8. Si noti che è necessario aggiornare solo il runtime distribuito su cui vengono eseguite le app. Non è prevista la ricostruzione dell'app per ridestinare la versione più recente.

Distribuisco la mia app in Servizio app di Azure, devo fare qualcosa?

.NET Framework 4.8 è già distribuito in Servizio app di Azure quindi se esegui l'app Web o la funzione di Azure in Servizio app di Azure non devi fare nulla, stai già usando l'ultima versione 4.8.  

Uso una macchina virtuale in Azure, devo fare qualcosa?

Stiamo lavorando con i nostri team partner per garantire che le immagini della macchina virtuale guest per le famiglie del sistema operativo che non sono state fornite con almeno 4.6.2 vengano aggiornate per includerlo e prevediamo che questo sarà disponibile prima di aprile 2022 quando smettiamo di supportare 4.5.2, 4.6 e 4.6.1. Prima di aprile 2022, è possibile continuare a usare .NET Framework 4.5.2, 4.6 e 4.6.1 e sarà completamente supportato. Detto questo, se si vuole avere un punto di partenza per convalidare immediatamente la funzionalità dell'applicazione nella versione più recente del runtime, è possibile usare queste linee guida per installare .NET Framework in Azure Servizi cloud.

L'app viene distribuita all'interno di un ambiente aziendale gestito con Windows Server Update Services (WSUS) o System Center Configuration Manager (SCCM), cosa devo fare?

Il runtime .NET Framework più recente- 4.8 è disponibile su Windows Update, Windows Server Update Services (WSUS) e microsoft Update (MU) Catalog per sistemi operativi client e WSUS e MU Catalog per sistemi operativi Server.

Quali risorse sono disponibili per questo tipo di assistenza?

Ecco alcune risorse che possono risultare utili:

.NET Framework 4.5.2, 4.6 o 4.6.1 sarà supportato in Windows Embedded 8?

.NET Framework 4.5.2, 4.6 e 4.6.1 raggiungerà la fine del supporto il 26 aprile 2022, anche per i clienti che lo usano in Windows Embedded 8. I clienti che usano queste versioni di .NET Framework dovrebbero pianificare il passaggio a una versione di runtime più recente, almeno .NET Framework 4.6.2 e preferibilmente .NET Framework 4.8.

Utilizzo .NET Framework 4.5.2, 4.6 o 4.6.1 in Windows Server 2008. cosa si deve fare?

In precedenza ,NET Framework 4.6.1 e versioni precedenti supportavano Windows Server 2008, ma .NET Framework 4.6.2 e versioni successive non lo supportavano. Come parte di questa fine del supporto aggiornamento .NET Framework 4.6.2 è stato aggiornato per includere Windows Server 2008 come piattaforma supportata. I clienti che usano .NET Framework 4.5.2, 4.6 o 4.6.1 in Windows Server 2008 dovrebbero pianificare il passaggio a .NET Framework 4.6.2.

Nota: le versioni più recenti di .NET Framework 4.7 e versioni successive non supportano Windows Server 2008.  

Sto usando Windows 10 2015 LTSC fornito con .NET Framework 4.6. cosa si deve fare?

Windows 10 Enterprise LTSC 2015 è stato fornito con .NET Framework 4.6 integrato nel sistema operativo. Questa versione del sistema operativo è un canale di manutenzione a lungo termine (LTSC). Continueremo a supportare .NET Framework 4.6 in Windows 10 Enterprise LTSC 2015 fino alla fine del supporto della versione del sistema operativo (ottobre 2025).  

Ci sono modifiche importanti in .NET Framework 4.5.2? Perché queste modifiche sono incluse?

Ci sono pochissime modifiche in .NET Framework 4.5.2 che non sono pienamente compatibili con le versioni precedenti di .NET Framework.  Queste modifiche vengono chiamate modifiche di runtime. Questi cambiamenti vengono inclusi solo quando assolutamente necessario ai fini della sicurezza, al fine di conformarsi agli standard di settore o per correggere un'incompatibilità precedente all'interno di .NET Framework. Inoltre, ci sono un piccolo numero di modifiche incluse in .NET Framework 4.5.2 che saranno abilitate solo se si sceglie di ricompilare l'applicazione per .NET Framework 4.5.2; le chiamiamo modifiche di ridestinazione.

Altre informazioni sulla compatibilità delle applicazioni, tra cui le modifiche di runtime .NET e di ridestinazione nelle varie versioni della famiglia .NET Framework 4.x, sono disponibili qui.

Devo ricompilare le mie applicazioni per usare .NET Framework 4.6.2 e versioni successive?

.NET Framework 4.6.2 e versioni successive sono aggiornamenti sul posto compatibili rispetto alle versioni precedenti di .NET Framework 4.x, tra cui 4.5.2, 4.6 e 4.6.1. Ciò significa che ci aspettiamo che le applicazioni create su versioni di .NET Framework 4.x precedenti continuino a essere in esecuzione su .NET Framework 4.6.2 e versioni successive senza alcuna modifica. La ricompilazione delle app per queste versioni non è necessaria, è necessario aggiornare solo la versione di runtime. È consigliabile testare la funzionalità dell'applicazione nella versione più recente del runtime .NET Framework prima di distribuirla in produzione.

Uso ClickOnce o un Visual Studio Installer Project per distribuire .NET Framework 4.6.2 o versione successiva come prerequisito per la mia app, cosa devo fare?

I programmi di installazione per .NET Framework 4.6.2 e versioni successive sono stati ricostruiti, quindi se si usa un programma di avvio automatico per distribuire .NET Framework 4.6.2 o versioni successive come prerequisito per l'app, sarà necessario aggiornare l'attributo PublicKey in Product.xml e Package.xml file in modo che il bootstrapper ClickOnce rilevi correttamente i pacchetti di installazione .NET aggiornati.

Product.xml viene utilizzato per i prodotti inglesi e vive nella radice del rilascio del bootstrapper. Ad esempio, nel caso di .NET Framework 4.6.2 questo file si trova in %ProgramFiles(x86)%\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX462\.

Sono inoltre disponibili più file di Package.xml in cartelle specifiche delle impostazioni locali, usati per distribuire i Language Pack di .NET Framework con l'applicazione.

È necessario aggiornare il valore dell'attributo PublicKey per l'elemento Package/PackageFiles/PackageFile a questo valore:

3082010a0282010100b6bb19591000a3a9f1e4b85ca80b07cbdb9a1f23d0d958ab78c048f7241438f063edd54b03bfcdf809ca1450f327b3fe82b4fa1a4384e1cbf91b38e83fcc9027ac97a2310a917b62ec75bfcd488da05d75fd95a775ff23d40ce5e8e063703e35ead49662f87655f756d4afa663cde3e3d60f9b7a9b2a77f1c2d5749c8f47d3dda0312d1ca4252cc4c4406653d792cae3b052eabe0ab8ae750b5618c74953ae74bff2a6cdf338e98ea5a3f3029e7a6fcf7cc42fb3cc754770aa3fe7621186dd45482f15fbb4074c6f3ecb37ee96388a53d40e35af06a83959effbc51af781f0863666bb54bbdf2795ed1659371a2111e8098bd618b2c5daed465452408203e2a70203010001 Si noti che ci sono due istanze dell'elemento //Package/PackageFiles/PackageFile in Product.xml e una in ogni file di Package.xml. Tutte le istanze devono essere aggiornate con la chiave pubblica corretta.

Per altre informazioni, vedere questo articolo per informazioni sulla creazione di pacchetti del bootstrapper .

Se usi un altro programma di avvio automatico, ad esempio WiX Bootstrapper (Burn), fai riferimento alla documentazione di masterizzazione per l'installazione dei prerequisiti di .NET Framework per ulteriori informazioni.

Uso .NET Framework 3.5 SP1: posso continuare a usarlo?

Non ci sono modifiche al ciclo di vita del supporto per .NET Framework 3.5 SP1. Per informazioni specifiche sulla fine del supporto per .NET Framework 3.5, vedere questo sito .

La mia applicazione ridistribuisce una versione del programma di installazione di .NET Framework che non sarà supportata in futuro. cosa si deve fare?

È consigliabile pianificare la spedizione di un programma di installazione di runtime .NET supportato (4.6.2 o versione successiva) con il prossimo aggiornamento pianificato per l'app. Se l'applicazione si trova in un ambiente in cui l'utente riceve aggiornamenti da Windows Update, è probabile che il computer esegua già l'app in .NET Framework 4.8 perché .NET Framework 4.8 è stato distribuito su vasta scala tramite Windows Update. Se l'app viene usata in un ambiente in cui Windows Update è bloccata o non è disponibile, l'utente finale dell'app potrebbe dover distribuire .NET Framework 4.6.2 o versioni successive se il programma di installazione dell'app non esegue questa operazione.

Uso un prodotto Microsoft come Exchange Server, SQL Server o Sharepoint che dipende da .NET Framework. Devo apportare aggiornamenti a questi prodotti?

Le versioni più recenti di prodotti come Exchange, SQL Server, SharePoint e così via sono basate su .NET Framework 4.6.2 o versione successiva. .NET Framework 4.6.2 e versioni successive sono aggiornamenti sul posto compatibili che si basano sulle versioni precedenti di .NET Framework 4.x. Ciò significa che una versione precedente di un'applicazione in esecuzione su .NET Framework 4.5.2, 4.6 o 4.6.1 continuerà a essere eseguita senza alcuna modifica quando il runtime .NET viene aggiornato da .NET Framework 4.5.2, 4.6 o 4.6.1 a versioni successive. Detto questo, è consigliabile convalidare le distribuzioni aggiornando il runtime .NET a .NET Framework 4.6.2 o versione successiva in un ambiente di pre-produzione prima di implementare una versione più recente nell'ambiente di produzione.

Uso un prodotto di un altro fornitore di software che installa .NET Framework 4.5.2, 4.6 o 4.6.1. cosa si deve fare?

Se il computer riceve aggiornamenti da Windows Update probabilmente il computer esegue già l'app in .NET Framework 4.8 perché .NET Framework 4.8 è stato distribuito su vasta scala tramite Windows Update. Se l'app viene usata in un ambiente in cui Windows Update è bloccata o non disponibile, contattare il fornitore dell'applicazione e una versione aggiornata dell'applicazione che distribuisce .NET Framework 4.6.2 o versione successiva.

Quali sono i criteri relativi al ciclo di vita del supporto per .NET Framework?

Vedere questo sito per le date di fine del supporto specifiche per ogni versione di .NET Framework.

Questo problema interessa .NET Core e .NET 5 o versione successiva?

No. L'ambito dell'annuncio è .NET Framework 4.5.2, 4.6 e 4.6.1. Non ci sono modifiche al ciclo di vita del supporto per .NET Core e .NET 5.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.