Wat is het Microsoft .NET Framework en waarom is het op mijn pc geïnstalleerd?
Als u al heel lang Windows gebruikt, hebt u waarschijnlijk wel eens gehoord van .NET van Microsoft, waarschijnlijk omdat een toepassing u heeft gevraagd het te installeren of u hebt het opgemerkt in uw lijst met geïnstalleerde programma's. Tenzij je een ontwikkelaar bent, heb je niet veel kennis nodig om er gebruik van te maken. Je hebt het alleen nodig om te werken. Maar omdat we geeks zijn om dingen te weten, gaan we met ons mee terwijl we verkennen wat .NET is en waarom zoveel toepassingen het nodig hebben.
The .NET Framework, Explained
De naam ".NET Framework" zelf is een beetje een verkeerde benaming. EEN kader (in programmeertermen) is echt een verzameling Application Programming Interfaces (API's) en een gedeelde bibliotheek met code die ontwikkelaars kunnen bellen bij het ontwikkelen van applicaties, zodat ze de code niet vanaf nul hoeven te schrijven. In het .NET Framework wordt die bibliotheek met gedeelde code de Framework Class Library (FCL) genoemd. De stukjes code in de gedeelde bibliotheek kunnen allerlei verschillende functies uitvoeren. Stel dat een ontwikkelaar zijn toepassing nodig had om een ander IP-adres in het netwerk te kunnen pingen. In plaats van die code zelf te schrijven en vervolgens alle kleine stukjes en beetjes te schrijven die moeten interpreteren wat de pingresultaten betekenen, kunnen ze code uit de bibliotheek gebruiken die die functie uitvoert.
En dat is slechts een klein voorbeeld. Het .NET Framework bevat tienduizenden stukjes gedeelde code. Deze gedeelde code maakt het leven van ontwikkelaars veel gemakkelijker omdat ze niet telkens opnieuw het wiel hoeven uit te vinden als hun toepassingen een gemeenschappelijke functie moeten vervullen. In plaats daarvan kunnen ze zich concentreren op de code die uniek is voor hun toepassingen en op de gebruikersinterface die alles met elkaar verbindt. Het gebruik van een raamwerk van gedeelde code als deze helpt ook om enkele standaarden tussen applicaties te bieden. Andere ontwikkelaars kunnen logischerwijs begrijpen wat een programma doet en gebruikers van de applicaties kunnen rekenen op zaken als Open en Opslaan als dialoogvensters die hetzelfde werken in verschillende applicaties.
Dus waarom is de naam een verkeerde benaming?
Omdat .NET niet alleen als een raamwerk voor gedeelde code fungeert, biedt het ook een runtime-omgeving voor toepassingen. Een runtime-omgeving biedt een virtuele machine-achtige sandbox waarin toepassingen worden uitgevoerd. Veel ontwikkelingsplatforms bieden hetzelfde soort dingen. Java en Ruby on Rails bieden bijvoorbeeld beide hun eigen runtime-omgevingen. In de .NET-wereld wordt de runtime-omgeving de Common Language Runtime (CLR) genoemd. Wanneer een gebruiker een toepassing uitvoert, wordt de code voor die toepassing tijdens runtime daadwerkelijk in machinecode gecompileerd en vervolgens uitgevoerd. CLR biedt ook enkele andere services, zoals het beheren van geheugen- en processorthreads, het afhandelen van programma-uitzonderingen en het beheren van beveiliging. De runtime-omgeving is eigenlijk een manier om de applicatie te abstraheren van de feitelijke hardware waarop de applicatie draait.
Het gebruik van een programma in een runtime-omgeving heeft verschillende voordelen. De grootste is draagbaarheid. Ontwikkelaars kunnen hun code schrijven met behulp van een aantal ondersteunende talen, waaronder favorieten als C #, C ++, F #, Visual Basic en enkele tientallen andere talen. Die code kan vervolgens worden uitgevoerd op elke hardware waarop .NET wordt ondersteund. Hoewel het platform ogenschijnlijk werd ontworpen om andere hardware dan Windows-pc's te ondersteunen, leidde het bedrijfseigen karakter ervan er toch toe dat het voornamelijk werd gebruikt voor Windows-toepassingen..
Microsoft heeft andere implementaties van .NET gemaakt om dit te helpen oplossen. Mono is een gratis en open-sourceproject dat is ontworpen om compatibiliteit te bieden tussen .NET-toepassingen en andere platforms, met name Linux. De .NET Core-implementatie is ook een gratis en open-source framework dat is ontworpen om lichtgewicht, modulaire apps naar meerdere platforms te brengen ... NET Core is bedoeld om ondersteuning te bieden aan Mac OS X, Linux en Windows (inclusief ondersteuning voor Universal Windows Platform-apps).
Zoals je je kunt voorstellen, kan een framework zoals .NET een echte zegen zijn voor de ontwikkeling van dingen. Het stelt ontwikkelaars in staat om code te schrijven met behulp van hun voorkeurstaal en kan er zeker van zijn dat code kan worden uitgevoerd waar het framework wordt ondersteund. Gebruikers profiteren van consistente applicaties en ook het feit dat veel apps mogelijk helemaal niet worden ontwikkeld als de ontwikkelaars geen toegang tot het framework hadden.
Hoe komt .NET op mijn systeem?
Het .NET Framework heeft een enigszins kronkelige geschiedenis en heeft door de jaren heen een aantal versies gezien. Meestal zou de nieuwste versie van .NET beschikbaar zijn in de release van elke versie van Windows. De versies waren bedoeld om backward-compatibel te zijn (dus een applicatie geschreven voor versie 2 zou kunnen draaien als versie 3 was geïnstalleerd), maar dat lukte niet zo goed. Niet alle applicaties werkten met de nieuwere versies. Vooral op systemen met Windows XP en Vista ziet u vaak meerdere versies van .NET op een pc.
Er waren in wezen drie manieren waarop een bepaalde versie van .NET Framework zou worden geïnstalleerd:
- Uw versie van Windows heeft deze mogelijk opgenomen in de standaardinstallatie.
- Een toepassing die een bepaalde versie vereist, kan deze tijdens de eigen installatie installeren.
- Sommige applicaties sturen je zelfs naar een aparte downloadsite om een bepaalde versie van .NET Framework te pakken en te installeren.
Gelukkig zijn de zaken soepeler in moderne versies van Windows. Soms gebeurde er tijdens de Windows Vista-dagen twee belangrijke dingen. Ten eerste is .NET Framework 3.5 vrijgegeven. Die versie is herwerkt om componenten van versie 2 en 3 op te nemen. Apps waarvoor eerdere versies nodig waren, zouden nu werken als u versie 3.5 recent had geïnstalleerd. Ten tweede zijn upgrades van .NET Framework eindelijk gestart via Windows Update.
Deze twee dingen samen betekenden dat ontwikkelaars nu vrijwel konden vertrouwen op gebruikers die al de juiste componenten hadden geïnstalleerd en niet langer gebruikers moesten vragen om extra installaties uit te voeren.
Toen Windows 8 rolde, kwam er een nieuwe, volledig opnieuw ontworpen .NET Framework-versie 4 bij. Versie 4 (en hoger) bevat geen achterwaartse compatibiliteit met oudere versies. Het is zo ontworpen dat het naast versie 3.5 op dezelfde pc kan worden gebruikt. Apps die zijn geschreven naar versies 3.5 en lager, moeten versie 3.5 zijn geïnstalleerd en voor apps die zijn geschreven naar versie 4 of hoger moet versie 4 zijn geïnstalleerd. Het goede nieuws is dat u zich als gebruiker niet meer echt zorgen hoeft te maken over die installaties. Windows behandelt het vrijwel allemaal voor je.
Windows 8 en Windows 10 bevatten versies 3.5 en 4 (de huidige versie is nu 4.6.1). Ze worden voor het eerst geïnstalleerd, dus de eerste keer dat u een app installeert die een van die versies nodig heeft, voegt Windows deze automatisch toe. U kunt ze zelf van tevoren zelf toevoegen aan Windows als u dat wilt door gebruik te maken van de optionele functies van Windows. U hebt opties om versie 3.5 en versie 4.6 afzonderlijk toe te voegen.
Dat gezegd hebbende, is er geen echte reden om ze zelf toe te voegen aan je Windows-installatie, tenzij je applicaties aan het ontwikkelen bent. De eerste keer dat u een app installeert die een van de beschikbare versies nodig heeft, zal Windows deze achter de schermen voor u toevoegen.
Wat kan ik doen als ik problemen heb met .NET?
U zult waarschijnlijk geen problemen ondervinden met .NET zelf op moderne versies van Windows. Aangezien beide vereiste versies bij Windows worden geleverd en indien nodig worden geïnstalleerd, zijn de installaties van de app vrij naadloos. In oudere versies van Windows (denk aan XP en Vista) moest je vaak de verschillende versies van .NET deïnstalleren en opnieuw installeren om dingen op gang te krijgen. Je moest ook door hoepels springen om te controleren of de juiste versies van .NET waren geïnstalleerd voor de apps die ze nodig hadden. Nu verwerkt Windows dat voor je.
Dat gezegd hebbende, als u problemen ondervindt waarvan u denkt dat ze verband houden met het .NET-framework, zijn er een paar stappen die u kunt nemen.
Eerst moet u ervoor zorgen dat Windows de nieuwste updates heeft. Als er een update voor .NET Framework beschikbaar is, lost dat misschien gewoon uw problemen op. U kunt ook proberen de .NET Framework-versies van uw computer te verwijderen en ze vervolgens opnieuw toe te voegen. Klik gewoon op onze post over het toevoegen van extra Windows-functies om te zien hoe. Als geen van beide stappen werkt, kunt u proberen te scannen op corrupte systeembestanden in Windows. Het duurt niet lang en het kan systeembestanden herstellen die beschadigd zijn of verdwenen zijn. Het is altijd een kans waard.
Als niets van dat werkt, probeer dan het .NET Framework Repair Tool van Microsoft te downloaden en te gebruiken. De tool ondersteunt alle huidige versies van .NET Framework. Het helpt u bij het oplossen van veelvoorkomende problemen met de installatie of updates van .NET en herstelt mogelijk alle problemen die u ondervindt.
En daar heb je het. Het is misschien meer dan je ooit wilde weten over het .NET Framework, maar ach - de volgende keer dat het op een feest verschijnt, kun je indruk maken op al je vrienden.