.NET Framework, spiegato
Il nome ".NET Framework" è di per sé un termine improprio. UN struttura (in termini di programmazione) è in realtà una raccolta di API (Application Programming Interface) e una libreria di codice condivisa che gli sviluppatori possono chiamare durante lo sviluppo di applicazioni, in modo che non debbano scrivere il codice da zero. In.NET Framework, quella libreria di codice condiviso è denominata Framework Class Library (FCL). I bit di codice nella libreria condivisa possono eseguire tutti i tipi di funzioni diverse. Ad esempio, uno sviluppatore ha bisogno che la sua applicazione sia in grado di eseguire il ping su un altro indirizzo IP sulla rete. Invece di scrivere da sé quel codice, e quindi scrivere tutti i piccoli bit e pezzi che devono interpretare il significato dei risultati del ping, possono usare il codice della libreria che esegue quella funzione.
E questo è solo un piccolo esempio..NET Framework contiene decine di migliaia di parti di codice condiviso. Questo codice condiviso rende la vita degli sviluppatori molto più semplice perché non è necessario reinventare la ruota ogni volta che le loro applicazioni devono svolgere alcune funzioni comuni. Invece, possono concentrarsi sul codice che è unico per le loro applicazioni e l'interfaccia utente che lega tutto insieme. L'utilizzo di un framework di codice condiviso come questo aiuta anche a fornire alcuni standard tra le applicazioni. Altri sviluppatori possono dare un senso a ciò che un programma sta facendo più facilmente e gli utenti delle applicazioni possono contare su cose come le finestre di dialogo Apri e Salva con nome che funzionano allo stesso modo in diverse applicazioni.
Quindi, perché il nome è un termine improprio?
Perché oltre a servire come una struttura di codice condiviso,.NET fornisce anche a ambiente di runtime per le applicazioni. Un ambiente di runtime fornisce una sandbox virtuale simile a una macchina in cui vengono eseguite le applicazioni. Molte piattaforme di sviluppo forniscono lo stesso tipo di cose. Ad esempio, Java e Ruby on Rails forniscono i propri ambienti di runtime. Nel mondo.NET, l'ambiente di runtime è denominato Common Language Runtime (CLR). Quando un utente esegue un'applicazione, il codice per tale applicazione viene effettivamente compilato in codice macchina in fase di esecuzione e quindi eseguito. CLR fornisce anche altri servizi, come la gestione dei thread di memoria e processore, la gestione delle eccezioni dei programmi e la gestione della sicurezza. L'ambiente runtime è davvero un modo per astrarre l'applicazione dall'hardware reale su cui viene eseguita l'applicazione.
Microsoft ha creato altre implementazioni di.NET per aiutare a risolvere questo problema. Mono è un progetto gratuito e open source progettato per fornire compatibilità tra le applicazioni.NET e altre piattaforme, in particolare Linux. L'implementazione.NET Core è anche framework gratuito e open source progettato per portare app leggere e modulari su più piattaforme..NET Core ha lo scopo di fornire supporto a Mac OS X, Linux e Windows (incluso il supporto per le app della piattaforma Windows universale).
Come potete immaginare, un framework come.NET può essere una vera manna sul lato dello sviluppo delle cose. Consente agli sviluppatori di scrivere codice utilizzando la loro lingua preferita e di essere certi che il codice possa essere eseguito ovunque sia supportato il framework. Gli utenti beneficiano di applicazioni coerenti e anche del fatto che molte app potrebbero non essere sviluppate affatto se gli sviluppatori non avessero accesso al framework.
Come funziona.NET sul mio sistema?
.NET Framework ha una storia un po 'tortuosa e ha visto un certo numero di versioni nel corso degli anni. In genere, la versione più recente di.NET disponibile sarà inclusa nel rilascio di ciascuna versione di Windows. Le versioni erano pensate per essere retrocompatibili (quindi un'applicazione scritta per la versione 2 poteva essere eseguita se fosse installata la versione 3), ma non funzionava così bene. Non tutte le applicazioni hanno funzionato con le versioni più recenti. In particolare, sui sistemi che eseguono Windows XP e Vista, si vedono spesso più versioni di.NET installate su un PC.
Esistevano essenzialmente tre modi per installare una versione specifica di.NET Framework:
- La tua versione di Windows potrebbe averla inclusa nell'installazione predefinita.
- Un'applicazione che richiedeva una versione particolare potrebbe installarla durante la sua installazione.
- Alcune applicazioni potrebbero persino inviarti a un sito di download separato per afferrare e installare una versione specifica di.NET Framework.
Fortunatamente, le cose sono più fluide nelle moderne versioni di Windows. A volte durante i giorni di Windows Vista, sono successe due cose importanti. Innanzitutto, è stato rilasciato.NET Framework 3.5. Quella versione è stata rielaborata per includere componenti delle versioni 2 e 3. Le app che richiedevano versioni precedenti ora funzionerebbero se fosse stata installata la versione 3.5. In secondo luogo, gli aggiornamenti a.NET Framework hanno finalmente iniziato a essere distribuiti tramite Windows Update.
Insieme, queste due cose significavano che ora gli sviluppatori potevano fare affidamento sugli utenti con i componenti corretti già installati e non dovevano più chiedere agli utenti di eseguire installazioni aggiuntive.
Quando si è verificato il passaggio a Windows 8, è arrivato un nuovo.NET Framework versione 4 completamente ridisegnato. La versione 4 (e successive) non presenta la retrocompatibilità con le versioni precedenti. È progettato in modo che possa essere eseguito insieme alla versione 3.5 sullo stesso PC. Le app scritte con le versioni 3.5 e precedenti richiedono l'installazione della versione 3.5 e le app scritte nella versione 4 o successiva richiedono la versione 4 installata. La buona notizia è che tu come utente non devi più preoccuparti di quelle installazioni. Windows praticamente lo gestisce tutto per te.
Windows 8 e Windows 10 includono le versioni 3.5 e 4 (la versione attuale in questo momento è 4.6.1). Vengono installati su una base necessaria per la prima volta, quindi la prima volta che si installa un'applicazione che necessita di una di quelle versioni, Windows la aggiungerà automaticamente. È possibile aggiungerli a Windows in anticipo se si desidera accedere alle funzionalità opzionali di Windows. Sono disponibili opzioni per aggiungere separatamente la versione 3.5 e la versione 4.6.
Cosa posso fare se ho problemi con.NET?
Probabilmente non incontrerai problemi con.NET stesso sulle moderne versioni di Windows. Poiché entrambe le versioni richieste sono incluse in Windows e sono installate in base alle esigenze, le installazioni delle app sono piuttosto semplici. Nelle versioni precedenti di Windows (penso a XP e Vista), spesso dovevi disinstallare e reinstallare le varie versioni di.NET per far funzionare le cose. Dovevi anche fare i salti mortali per assicurarti che fossero installate le giuste versioni di.NET per le app che ne avevano bisogno. Ora, Windows gestisce quella roba per te.
Detto questo, se si riscontrano problemi che si pensa siano legati al framework.NET, ci sono alcuni passaggi che è possibile eseguire.
Innanzitutto, è necessario assicurarsi che Windows disponga di tutti gli ultimi aggiornamenti. Se è disponibile un aggiornamento a.NET Framework, ciò potrebbe risolvere solo i tuoi problemi. Puoi anche provare a rimuovere le versioni di.NET Framework dal tuo computer e quindi aggiungerle di nuovo. Basta aggiungere il nostro post per aggiungere ulteriori funzionalità di Windows per vedere come. Se nessuno di questi passaggi funziona, puoi provare a cercare file di sistema corrotti in Windows. Non ci vuole molto tempo e può ripristinare i file di sistema che sono corrotti o scomparsi. Vale sempre la pena sparare.
Se non funziona, prova a scaricare ed eseguire lo strumento di riparazione di.NET Framework di Microsoft. Lo strumento supporta tutte le versioni correnti di.NET Framework. Ti aiuta a risolvere i problemi più comuni con l'installazione o gli aggiornamenti di.NET e potrebbe essere in grado di riparare automaticamente i problemi che stai riscontrando.