Als je Windows al heel lang gebruikt, heb je waarschijnlijk wel eens gehoord van Microsoft .NET, waarschijnlijk omdat een applicatie je vroeg om het te installeren, of je hebt het opgemerkt in je lijst met geïnstalleerde programma's. Tenzij u een ontwikkelaar bent, heeft u niet veel kennis nodig om er gebruik van te maken. Je hebt het gewoon nodig om te werken. Maar aangezien wij nerds graag dingen weten, sluit u zich bij ons aan om te ontdekken wat .NET is en waarom zoveel applicaties het nodig hebben.
Het .NET Framework, uitgelegd
De naam ".NET Framework" zelf is een beetje een verkeerde benaming. EEN kader (in termen van programmeren) is eigenlijk een verzameling Application Programming Interfaces (API's) en een gedeelde codebibliotheek die ontwikkelaars kunnen aanroepen bij het ontwikkelen van applicaties, zodat ze de code niet helemaal opnieuw hoeven te schrijven. In .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 applicatie bijvoorbeeld nodig heeft om een ander IP-adres op 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 ping-resultaten betekenen, kunnen ze code gebruiken uit de bibliotheek 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 elke keer het wiel opnieuw hoeven uit te vinden als hun applicaties een gemeenschappelijke functie moeten uitvoeren. In plaats daarvan kunnen ze zich concentreren op de code die uniek is voor hun applicaties en de gebruikersinterface die alles met elkaar verbindt. Het gebruik van een dergelijk raamwerk van gedeelde code helpt ook om enkele standaarden tussen applicaties te bieden. Andere ontwikkelaars kunnen gemakkelijker begrijpen wat een programma doet en gebruikers van de applicaties kunnen erop rekenen dat zaken als Openen en Opslaan als-dialoogvensters hetzelfde werken in verschillende applicaties.
Dus waarom is de naam een verkeerde benaming?
Omdat .NET niet alleen dient als een raamwerk van gedeelde code, biedt het ook een runtime-omgeving voor toepassingen. Een runtime-omgeving biedt een virtuele machine-achtige sandbox waarin applicaties 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 applicatie uitvoert, wordt de code voor die applicatie tijdens runtime in feite gecompileerd tot machinecode 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 daadwerkelijke hardware waarop de applicatie draait.
Het draaien van applicaties 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. Die code kan vervolgens worden uitgevoerd op elke hardware waarop .NET wordt ondersteund. Hoewel het platform ogenschijnlijk was ontworpen om andere hardware dan Windows-pc's te ondersteunen, leidde de eigendomsrechtelijke aard ervan dat het voornamelijk werd gebruikt voor Windows-toepassingen.
Microsoft heeft andere implementaties van .NET gemaakt om dit op te lossen. Mono is een gratis en open-sourceproject dat is ontworpen om compatibiliteit te bieden tussen .NET-applicaties 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 voor Mac OS X, Linux en Windows (inclusief ondersteuning voor Universal Windows Platform-apps).
Zoals u zich kunt voorstellen, kan een framework als .NET een echte zegen zijn voor de ontwikkeling van dingen. Het stelt ontwikkelaars in staat om code te schrijven in hun voorkeurstaal en er zeker van te zijn dat code overal kan worden uitgevoerd waar het framework wordt ondersteund. Gebruikers profiteren van consistente applicaties en ook van het feit dat veel apps mogelijk helemaal niet worden ontwikkeld als de ontwikkelaars geen toegang hebben tot het framework.
Hoe werkt .NET op mijn systeem?
Het .NET Framework heeft een ietwat kronkelige geschiedenis en heeft in de loop der jaren een aantal versies gezien. Normaal gesproken wordt de nieuwste beschikbare versie van .NET opgenomen in de release van elke versie van Windows. De versies waren bedoeld om achterwaarts compatibel te zijn (dus een applicatie geschreven voor versie 2 zou kunnen draaien als versie 3 was geïnstalleerd), maar dat werkte niet zo goed. Niet alle applicaties werkten met de nieuwere versies. Vooral op systemen met Windows XP en Vista ziet u vaak meerdere verschillende versies van .NET op een pc geïnstalleerd.
Er waren in wezen drie manieren waarop een bepaalde versie van .NET Framework zou worden geïnstalleerd:
- Uw versie van Windows heeft het mogelijk opgenomen in de standaardinstallatie.
- Een toepassing die een bepaalde versie vereist, kan deze tijdens zijn 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 gaat het soepeler in moderne versies van Windows. Ergens tijdens de Windows Vista-dagen gebeurden er twee belangrijke dingen. Eerst werd .NET Framework 3.5 uitgebracht. Die versie werd herwerkt om componenten uit versie 2 en 3 op te nemen. Apps waarvoor eerdere versies nodig waren, zouden nu werken als je net versie 3.5 had geïnstalleerd. Ten tweede werden eindelijk upgrades naar .NET Framework geleverd via Windows Update.
Samen zorgden deze twee dingen ervoor dat ontwikkelaars nu vrijwel konden vertrouwen op gebruikers die de juiste componenten al hadden geïnstalleerd en gebruikers niet langer hoefden te vragen om extra installaties uit te voeren.
VERWANT: Wat de "optionele functies" van Windows 10 doen en hoe u ze kunt in- of uitschakelen
Toen Windows 8 rondrolde, kwam er een nieuwe, volledig opnieuw ontworpen .NET Framework versie 4 bij. Versie 4 (en hoger) biedt geen achterwaartse compatibiliteit met oudere versies. Het is zo ontworpen dat het naast versie 3.5 op dezelfde pc kan worden gebruikt. Voor apps die zijn geschreven naar versie 3.5 en lager, moet versie 3.5 worden geïnstalleerd en voor apps die zijn geschreven naar versie 4 of hoger is versie 4 geïnstalleerd. Het goede nieuws is dat u zich als gebruiker geen zorgen meer hoeft te maken over die installaties. Windows regelt het vrijwel allemaal voor u.
Windows 8 en Windows 10 bevatten versies 3.5 en 4 (de huidige versie is nu 4.6.1). Ze worden geïnstalleerd op basis van de eerste keer dat ze nodig zijn, dus de eerste keer dat u een app installeert waarvoor een van deze versies nodig is, zal Windows deze automatisch toevoegen. U kunt ze van tevoren zelf aan Windows toevoegen als u dat wilt toegang tot de optionele functies van Windows . Je hebt opties om versie 3.5 en versie 4.6 afzonderlijk toe te voegen.
Dat gezegd hebbende, er is geen echte reden om ze zelf aan uw Windows-installatie toe te voegen, tenzij u applicaties ontwikkelt. De eerste keer dat u een app installeert waarvoor een van de beschikbare versies nodig is, zal Windows deze achter de schermen voor u toevoegen.
Wat kan ik doen als ik problemen heb met .NET?
U zult waarschijnlijk geen problemen tegenkomen met .NET zelf in moderne versies van Windows. Omdat beide vereiste versies bij Windows worden geleverd en naar behoefte worden geïnstalleerd, zijn app-installaties vrij naadloos. Op oudere versies van Windows (denk aan XP en Vista) moest u vaak de verschillende versies van .NET verwijderen en opnieuw installeren om dingen werkend te krijgen. Je moest ook door hoepels springen om ervoor te zorgen dat de juiste versies van .NET waren geïnstalleerd voor de apps die ze nodig hadden. Nu regelt Windows dat spul voor u.
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.
VERWANT: Scannen op (en repareren) corrupte systeembestanden in Windows
Ten eerste moet u ervoor zorgen dat Windows de nieuwste updates heeft. Als er een update voor .NET Framework beschikbaar is, kan dat uw problemen misschien oplossen. 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 op extra Windows-functies toevoegen om te zien hoe. Als geen van deze stappen werkt, kunt u het proberen scannen op corrupte systeembestanden in Windows. Het duurt niet lang en het kan systeembestanden herstellen die beschadigd zijn of verdwenen zijn. Het is altijd het proberen waard.
Als niets van dat werkt, probeer dan Microsoft .NET Framework-reparatietool . De tool ondersteunt alle huidige versies van .NET Framework. Het helpt u bij het oplossen van veelvoorkomende problemen met de installatie van of updates voor .NET en kan mogelijk automatisch eventuele problemen oplossen.
En daar heb je het. Het is misschien meer dan je ooit wilde weten over .NET Framework, maar ach, de volgende keer dat het op een feestje verschijnt, kun je indruk maken op al je vrienden.