Delen via


.NET-woordenlijst

Het belangrijkste doel van deze woordenlijst is om betekenissen van geselecteerde termen en acroniemen te verduidelijken die vaak worden weergegeven in de .NET-documentatie.

AOT

Vooraf compileren.

Net als bij JIT vertaalt deze compiler IL ook naar machinecode. In tegenstelling tot JIT-compilatie vindt AOT-compilatie plaats voordat de toepassing wordt uitgevoerd en meestal op een andere computer wordt uitgevoerd. Omdat AOT-hulpprogrammaketens niet tijdens runtime worden gecompileerd, hoeven ze geen tijd te minimaliseren die nodig is om te compileren. Dat betekent dat ze meer tijd kunnen besteden aan het optimaliseren. Omdat de context van AOT de volledige toepassing is, voert de AOT-compiler ook een analyse voor het koppelen van modules en een volledig programma uit, wat betekent dat alle verwijzingen worden gevolgd en één uitvoerbaar bestand wordt geproduceerd.

Zie CoreRT en systeemeigen .NET.

app-model

Een workloadspecifieke API. Hieronder volgen een aantal voorbeelden:

  • ASP.NET
  • ASP.NET Web-API
  • Entity Framework (EF)
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF)
  • Windows Forms (WinForms)

ASP.NET

De oorspronkelijke ASP.NET-implementatie die wordt geleverd met .NET Framework, ook wel bekend als ASP.NET 4.x en ASP.NET Framework.

Soms is ASP.NET een overkoepelende term die verwijst naar zowel de oorspronkelijke ASP.NET als ASP.NET Core. De betekenis die de term in een bepaald exemplaar draagt, wordt bepaald door de context. Raadpleeg ASP.NET 4.x als u duidelijk wilt maken dat u geen ASP.NET gebruikt om beide implementaties te betekenen.

Zie ASP.NET documentatie.

ASP.NET Core

Een platformoverschrijdende, krachtige, opensource-implementatie van ASP.NET.

Zie ASP.NET Core-documentatie.

assembly

Een .dll - of .exe-bestand dat een verzameling API's kan bevatten die kunnen worden aangeroepen door toepassingen of andere assembly's.

Een assembly bevat typen zoals interfaces, klassen, structuren, opsommingen en gemachtigden. Assembly's in de bin-map van een project worden soms binaire bestanden genoemd. Zie ook de bibliotheek.

BCL

Basisklassebibliotheek.

Een set bibliotheken die deel uitmaken van de System.* (en in beperkte mate Microsoft.*) naamruimten. De BCL is een algemeen, lager framework waarop toepassingsframeworks op een hoger niveau, zoals ASP.NET Core, worden gebouwd.

De broncode van de BCL voor .NET bevindt zich in de .NET Runtime-opslagplaats. De meeste van deze BCL-API's zijn ook beschikbaar in .NET Framework, dus u kunt deze broncode beschouwen als een fork van de .NET Framework BCL-broncode.

De volgende termen verwijzen vaak naar dezelfde verzameling API's waarnaar BCL verwijst:

CLR

Common Language Runtime.

De exacte betekenis is afhankelijk van de context. Common Language Runtime verwijst meestal naar de runtime van .NET Framework of de runtime van .NET.

Een CLR verwerkt geheugentoewijzing en -beheer. Een CLR is ook een virtuele machine die niet alleen apps uitvoert, maar ook code on-the-fly genereert en compileert met behulp van een JIT-compiler .

De CLR-implementatie voor .NET Framework is alleen Windows.

De CLR-implementatie voor .NET (ook wel core CLR genoemd) is gebouwd op basis van dezelfde codebasis als de .NET Framework CLR. Oorspronkelijk was de Core CLR de runtime van Silverlight en is ontworpen om te worden uitgevoerd op meerdere platforms, met name Windows en OS X. Het is nog steeds een platformoverschrijdende runtime, inclusief ondersteuning voor veel Linux-distributies.

Zie ook runtime.

Core CLR

Common Language Runtime voor .NET.

Zie CLR.

CoreRT

In tegenstelling tot de CLR is CoreRT geen virtuele machine, wat betekent dat het geen faciliteiten bevat om code on-the-fly te genereren en uit te voeren omdat het geen JIT bevat. Het omvat echter wel de GC en de mogelijkheid voor runtime type identification (RTTI) en reflectie. Het typesysteem is echter zo ontworpen dat metagegevens voor weerspiegeling niet vereist zijn. Het is niet vereist dat metagegevens een AOT-toolketen hebben die overbodige metagegevens kan koppelen en (belangrijker) code identificeert die de app niet gebruikt. CoreRT is in ontwikkeling.

Zie Inleiding tot CoreRT en .NET Runtime Lab.

platformoverschrijdend

De mogelijkheid om een toepassing te ontwikkelen en uit te voeren die kan worden gebruikt op meerdere verschillende besturingssystemen, zoals Linux, Windows en iOS, zonder dat u deze specifiek hoeft te herschrijven voor elke toepassing. Dit maakt het hergebruik van code en consistentie tussen toepassingen op verschillende platforms mogelijk.

Zie het platform.

ecosysteem

Alle runtimesoftware, ontwikkelhulpprogramma's en community-resources die worden gebruikt voor het bouwen en uitvoeren van toepassingen voor een bepaalde technologie.

De term '.NET ecosystem' verschilt van vergelijkbare termen als '.NET Stack' bij het opnemen van apps en bibliotheken van derden. Hier volgt een voorbeeld in een zin:

  • "De motivatie achter .NET Standard was het creëren van een grotere uniformiteit in het .NET-ecosysteem."

framework

Over het algemeen is er een uitgebreide verzameling API's die de ontwikkeling en implementatie van toepassingen die zijn gebaseerd op een bepaalde technologie vergemakkelijkt. In deze algemene zin zijn ASP.NET Core en Windows Forms voorbeelden van toepassingsframeworks. Het woordenframework en de bibliotheek worden vaak synoniem gebruikt.

Het woord 'framework' heeft een andere betekenis in de volgende termen:

Soms verwijst 'framework' naar een implementatie van .NET.

frameworkbibliotheken

Betekenis is afhankelijk van context. Kan verwijzen naar de frameworkbibliotheken voor .NET. In dat geval verwijst het naar dezelfde bibliotheken waarnaar BCL verwijst. Het kan ook verwijzen naar de ASP.NET Core-frameworkbibliotheken , die zijn gebaseerd op de BCL en aanvullende API's bieden voor web-apps.

GC

Garbage collector.

De garbagecollector is een implementatie van automatisch geheugenbeheer. De GC maakt geheugen vrij door objecten die niet meer in gebruik zijn.

Zie Garbagecollection.

IL

Tussenliggende taal.

.NET-talen op een hoger niveau, zoals C#, worden gecompileerd naar een hardwareagnostische instructieset, die tussenliggende taal (IL) wordt genoemd. IL wordt soms MSIL (Microsoft IL) of CIL (Common IL) genoemd.

JIT

Just-in-time compiler.

Net als bij AOT vertaalt deze compiler IL naar machinecode die de processor begrijpt. In tegenstelling tot AOT vindt JIT-compilatie op aanvraag plaats en wordt uitgevoerd op dezelfde computer waarop de code moet worden uitgevoerd. Omdat JIT-compilatie plaatsvindt tijdens de uitvoering van de toepassing, maakt de compileertijd deel uit van de uitvoeringstijd. Daarom moeten JIT-compilers de tijd die nodig is om code te optimaliseren in balans te krijgen met de besparingen die de resulterende code kan produceren. Maar een JIT kent de daadwerkelijke hardware en kan ontwikkelaars vrij laten van het verzenden van verschillende implementaties.

implementatie van .NET

Een implementatie van .NET omvat:

  • Een of meer runtimes. Voorbeelden: CLR, CoreRT.
  • Een klassebibliotheek die een versie van .NET Standard implementeert en aanvullende API's kan bevatten. Voorbeelden: de BCL's voor .NET Framework en .NET.
  • U kunt desgewenst een of meer toepassingsframeworks gebruiken. Voorbeelden: ASP.NET, Windows Forms en WPF zijn opgenomen in .NET Framework en .NET.
  • Eventueel ontwikkelhulpprogramma's. Sommige ontwikkelhulpprogramma's worden gedeeld tussen meerdere implementaties.

Voorbeelden van .NET-implementaties:

Zie .NET-implementaties voor meer informatie.

bibliotheek

Een verzameling API's die kunnen worden aangeroepen door apps of andere bibliotheken. Een .NET-bibliotheek bestaat uit een of meer assembly's.

De woordenbibliotheek en het framework worden vaak synoniem gebruikt.

Mono

Een open source, platformoverschrijdende .NET-implementatie die wordt gebruikt wanneer een kleine runtime is vereist. Het is de runtime die Xamarin-toepassingen mogelijk maakt op Android, Mac, iOS, tvOS en watchOS en die voornamelijk is gericht op apps die een kleine footprint vereisen.

Het ondersteunt alle momenteel gepubliceerde .NET Standard-versies.

In het verleden heeft Mono de grotere API van .NET Framework geïmplementeerd en enkele van de populairste mogelijkheden op Unix geëmuleerd. Het wordt soms gebruikt om .NET-toepassingen uit te voeren die afhankelijk zijn van deze mogelijkheden op Unix.

Mono wordt meestal gebruikt met een Just-In-Time-compiler, maar het bevat ook een volledige statische compiler (vooraf-op-tijd compilatie) die wordt gebruikt op platforms zoals iOS.

Zie de Mono-documentatie voor meer informatie.

Systeemeigen AOT

Een implementatiemodus waarin de app zelfstandig is en vooraf is gecompileerd naar systeemeigen code op het moment van publiceren. Systeemeigen AOT-apps gebruiken geen JIT-compiler tijdens runtime. Ze kunnen worden uitgevoerd op computers waarop de .NET Runtime niet is geïnstalleerd.

Zie Systeemeigen AOT-implementatie voor meer informatie.

.NET

.NET heeft twee betekenissen en de betekenis die is bedoeld, is afhankelijk van de context:

  • .NET kan worden gebruikt als de overkoepelende term voor .NET Standard en alle .NET-implementaties en workloads.
  • .NET verwijst vaker naar de platformoverschrijdende opensource-implementatie van .NET die voorheen .NET Core werd genoemd. Het kan ook worden aangeduid als .NET 5 (en .NET Core) en latere versies of gewoon .NET 5+.

De eerste betekenis is bijvoorbeeld bedoeld in zinnen zoals 'implementaties van .NET'. De tweede betekenis is bedoeld in namen zoals .NET SDK en .NET CLI. Bij afwezigheid van context die aangeeft dat de eerste betekenis is bedoeld, wordt ervan uitgegaan dat de tweede betekenis bedoeld is.

Eerdere versies van .NET worden .NET Core 1 tot en met 3.1 genoemd. De versienummers slaan 4 over en de versie gevolgd door 3.1 staat bekend als .NET 5, waardoor 'Core' uit de naam wordt verwijderd. Het verwijderen van 'Core' is gedaan om te benadrukken dat deze implementatie van .NET de implementatie is die wordt aanbevolen voor alle nieuwe ontwikkeling. Het overslaan van versie 4 is gedaan om verwarring te voorkomen bij deze nieuwere implementatie van .NET met de oudere implementatie die .NET Framework wordt genoemd. De huidige versie van .NET Framework is 4.8.1.

.NET is altijd volledig in hoofdletters, nooit .Net.

Zie de .NET-documentatie.

.NET CLI

Een platformoverschrijdende hulpprogrammaketen voor het ontwikkelen van toepassingen en bibliotheken voor .NET. Ook wel bekend als de .NET Core CLI.

Zie .NET CLI.

.NET Core

Zie .NET.

.NET Framework

Een implementatie van .NET die alleen in Windows wordt uitgevoerd. Bevat de Common Language Runtime (CLR), de BCL (Base Class Library) en application framework-bibliotheken zoals ASP.NET, Windows Forms en WPF.

Zie de handleiding voor .NET Framework.

systeemeigen .NET

Een compilerhulpprogrammaketen die systeemeigen code van tevoren produceert (AOT), in plaats van Just-In-Time (JIT).

Compilatie vindt plaats op de computer van de ontwikkelaar, vergelijkbaar met de manier waarop een C++-compiler en linker werken. Het verwijdert ongebruikte code en besteedt meer tijd aan het optimaliseren ervan. Code wordt uit bibliotheken geëxtraheerd en samengevoegd in het uitvoerbare bestand. Het resultaat is één module die de hele app vertegenwoordigt.

UWP is het toepassingsframework dat wordt ondersteund door systeemeigen .NET.

Zie systeemeigen .NET documentatie.

.NET SDK

Een set bibliotheken en hulpprogramma's waarmee ontwikkelaars toepassingen en bibliotheken voor .NET kunnen maken. Ook wel bekend als de .NET Core SDK.

Bevat de .NET CLI voor het bouwen van apps, .NET-bibliotheken en runtime voor het bouwen en uitvoeren van apps, en het uitvoerbare dotnet-bestand (dotnet.exe) waarop CLI-opdrachten worden uitgevoerd en toepassingen worden uitgevoerd.

Zie het overzicht van .NET SDK.

.NET Standard

Een formele specificatie van .NET API's die beschikbaar zijn in elke .NET-implementatie.

De .NET Standard-specificatie wordt ook wel een bibliotheek genoemd. Omdat een bibliotheek API-implementaties bevat, niet alleen specificaties (interfaces), is het misleidend om .NET Standard een 'bibliotheek' aan te roepen.

Zie .NET Standard.

NGen

Systeemeigen generatie (installatiekopieën).

U kunt deze technologie beschouwen als een permanente JIT-compiler . Meestal wordt code gecompileerd op de computer waarop de code wordt uitgevoerd, maar compilatie vindt meestal plaats tijdens de installatie.

package

Een NuGet-pakket, of alleen een pakket, is een .zip bestand met een of meer assembly's met dezelfde naam, samen met aanvullende metagegevens zoals de naam van de auteur.

Het bestand .zip heeft de extensie .nupkg en kan assets bevatten, zoals .dll bestanden en .xml-bestanden , voor gebruik met meerdere doelframeworks en versies. Wanneer deze is geïnstalleerd in een app of bibliotheek, worden de juiste assets geselecteerd op basis van het doelframework dat is opgegeven door de app of bibliotheek. De assets die de interface definiëren, bevinden zich in de ref-map en de assets die de implementatie definiëren, bevinden zich in de lib-map .

platform

Een besturingssysteem en de hardware waarop het wordt uitgevoerd, zoals Windows, macOS, Linux, iOS en Android.

Hier volgen voorbeelden van gebruik in zinnen:

  • ".NET Core is een platformoverschrijdende implementatie van .NET."
  • "PCL-profielen vertegenwoordigen Microsoft-platforms, terwijl .NET Standard agnostisch is voor platform."

Verouderde .NET-documentatie gebruikt soms '.NET-platform' om een implementatie van .NET of de .NET-stack te betekenen, inclusief alle implementaties. Beide gebruiksbewerkingen worden meestal verward met de primaire betekenis (OS/hardware), dus we proberen deze gebruiksbewerkingen te voorkomen.

Platform heeft een andere betekenis in de zin 'ontwikkelaarsplatform', wat verwijst naar software die hulpprogramma's en bibliotheken biedt voor het bouwen en uitvoeren van apps. .NET is een platformoverschrijdend opensource-ontwikkelaarsplatform voor het bouwen van veel verschillende soorten toepassingen.

POCO

Een POCO, of een gewoon oud klasse-/CLR-object , is een .NET-gegevensstructuur die alleen openbare eigenschappen of velden bevat. Een POCO mag geen andere leden bevatten, zoals:

  • methoden
  • gebeurtenissen
  • Afgevaardigden

Deze objecten worden voornamelijk gebruikt als DTU's (Data Transfer Objects). Een pure POCO neemt geen ander object over of implementeert een interface. Het is gebruikelijk dat POCOs worden gebruikt met serialisatie.

runtime

Over het algemeen is de uitvoeringsomgeving voor een beheerd programma. Het besturingssysteem maakt deel uit van de runtime-omgeving, maar maakt geen deel uit van de .NET-runtime. Hier volgen enkele voorbeelden van .NET-runtimes in deze zin van het woord:

  • Common Language Runtime (CLR)
  • systeemeigen .NET (voor UWP)
  • Monoruntime

Het woord 'runtime' heeft een andere betekenis in sommige contexten:

  • .NET Runtime op de downloadpagina van .NET 5.

    U kunt de .NET-runtime of andere runtimes downloaden, zoals de ASP.NET Core-runtime. Een runtime in dit gebruik is de set onderdelen die op een computer moeten worden geïnstalleerd om een frameworkafhankelijke app op de computer uit te voeren. De .NET-runtime omvat de CLR en het gedeelde .NET-framework, dat de BCL biedt.

  • .NET Runtime-bibliotheken

    Verwijst naar dezelfde bibliotheken waarnaar BCL verwijst. Andere runtimes, zoals de ASP.NET Core-runtime, hebben echter verschillende gedeelde frameworks, met extra bibliotheken die zijn gebaseerd op de BCL.

  • Runtime-id (RID).

    Runtime hier betekent het besturingssysteemplatform en de CPU-architectuur waarop een .NET-app wordt uitgevoerd, bijvoorbeeld: linux-x64.

  • Soms wordt runtime gebruikt in de zin van een implementatie van .NET, zoals in de volgende voorbeelden:

    • "De verschillende .NET-runtimes implementeren specifieke versies van .NET Standard. … Elke .NET Runtime-versie kondigt de hoogste .NET Standard-versie aan die wordt ondersteund ..."
    • 'Bibliotheken die zijn bedoeld om op meerdere runtimes te worden uitgevoerd, moeten zich richten op dit framework.' (verwijzend naar .NET Standard)

gedeeld framework

Betekenis is afhankelijk van context. Het gedeelde .NET-framework verwijst naar de bibliotheken die zijn opgenomen in de .NET-runtime. In dit geval verwijst het gedeelde framework voor .NET naar dezelfde bibliotheken waarnaar BCL verwijst.

Er zijn andere gedeelde frameworks. Het gedeelde ASP.NET Core-framework verwijst naar de bibliotheken die zijn opgenomen in de ASP.NET Core-runtime, waaronder de BCL plus aanvullende API's voor gebruik door web-apps.

Voor frameworkafhankelijke apps bestaat het gedeelde framework uit bibliotheken die zijn geïnstalleerd in assembly's die zijn geïnstalleerd in een map op de computer waarop de app wordt uitgevoerd. Voor zelfstandige apps zijn de gedeelde frameworkassembly's opgenomen in de app.

Zie Deep-dive into .NET Core primitives( deel 2: the shared framework) voor meer informatie.

stapel

Een set programmeertechnologieën die samen worden gebruikt om toepassingen te bouwen en uit te voeren.

'De .NET-stack' verwijst naar .NET Standard en alle .NET-implementaties. De woordgroep 'een .NET-stack' kan verwijzen naar één implementatie van .NET.

doelframework

De verzameling API's waarvan een .NET-app of -bibliotheek afhankelijk is.

Een app of bibliotheek kan zich richten op een versie van .NET Standard (bijvoorbeeld .NET Standard 2.0), een specificatie voor een gestandaardiseerde set API's voor alle .NET-implementaties. Een app of bibliotheek kan ook gericht zijn op een versie van een specifieke .NET-implementatie. In dat geval krijgt deze toegang tot implementatiespecifieke API's. Een app die zich richt op Xamarin.iOS krijgt bijvoorbeeld toegang tot door Xamarin geleverde iOS API-wrappers.

Voor sommige doelframeworks (bijvoorbeeld .NET Framework) worden de beschikbare API's gedefinieerd door de assembly's die een .NET-implementatie op een systeem installeert, waaronder application framework-API's (bijvoorbeeld ASP.NET, WinForms). Voor op pakketten gebaseerde doelframeworks worden de framework-API's gedefinieerd door de pakketten die zijn geïnstalleerd in de app of bibliotheek.

Zie Doelframeworks.

TFM

Doelframework moniker.

Een gestandaardiseerde tokenindeling voor het opgeven van het doelframework van een .NET-app of -bibliotheek. Naar doelframeworks wordt meestal verwezen met een korte naam, zoals net462. Lang-formulier TFM's (zoals .NETFramework,Version=4.6.2) bestaan, maar worden meestal niet gebruikt om een doelframework op te geven.

Zie Doelframeworks.

UWP

Universeel Windows-platform.

Een implementatie van .NET die wordt gebruikt voor het bouwen van Windows-toepassingen met aanraakbediening en -software voor Internet of Things (IoT). Het is ontworpen om de verschillende typen apparaten te samenvoegen die u mogelijk wilt richten, waaronder pc's, tablets, telefoons en zelfs de Xbox. UWP biedt veel services, zoals een gecentraliseerde App Store, een uitvoeringsomgeving (AppContainer) en een set Windows-API's die moeten worden gebruikt in plaats van Win32 (WinRT). Apps kunnen worden geschreven in C++, C#, Visual Basic en JavaScript. Wanneer u C# en Visual Basic gebruikt, worden de .NET-API's geleverd door .NET.

workload

Een type app dat iemand bouwt. Algemener dan app-model. Boven aan elke .NET-documentatiepagina, waaronder deze, is bijvoorbeeld een vervolgkeuzelijst voor workloads, waarmee u kunt overschakelen naar documentatie voor web-, mobiele, cloud-, desktop- en machine learning- en machine learning-gegevens.

In sommige contexten verwijst de workload naar een verzameling Visual Studio-functies die u kunt installeren ter ondersteuning van een bepaald type app. Zie Visual Studio-workloads configureren voor een voorbeeld.

Zie ook