Het gebruik van .NET
Deze les is gericht op de technische aspecten van het compileren van een toepassing. We gebruiken .NET-talen, hulpprogramma's en frameworks om een overzicht te geven van de algemene werkstroomsoftware die ontwikkelaars gebruiken om .NET-toepassingen te bouwen.
Hoe ontwikkelaars toepassingen compileren met .NET
In deze sectie wordt de werkstroom van toepassingsontwikkeling in .NET beschreven en vindt u informatie over het bouwen van een toepassing in .NET.
De ontwikkelomgeving instellen
De eerste beslissing die ontwikkelaars maken, is het selecteren van de hulpprogramma's waarmee ze hun toepassingen willen maken. Met andere woorden: ze selecteren hun ontwikkelomgeving. De beslissing is doorgaans gebaseerd op het feit of zij de voorkeur geven aan een meer visuele werkstroom met een Graphical User Interface, of aan een opdrachtregelinterface, waarbij ze bijna uitsluitend afhankelijk zijn van het toetsenbord om in de ontwikkelomgeving te navigeren en opdrachten te maken.
Notitie
Aan het einde van deze module vindt u koppelingen waarmee u aan de slag kunt met het instellen van uw ontwikkelomgeving. U kunt Visual Studio 2022 of Visual Studio Code en de .NET Software Development Kit (SDK) kiezen.
Voor ontwikkelaars die de voorkeur geven aan een visuele omgeving, is Visual Studio 2022 de beste keuze. Zoals u kunt raden, hebt u vanwege de uitgebreide en visuele aard van Visual Studio 2022 tijd, bandbreedte en schijfruimte nodig om het programma te downloaden en te installeren. Sommige beginners vinden deze echter de eenvoudigste manier om hiermee aan de slag te gaan. Afhankelijk van de snelheid van uw internetverbinding kan de installatie 15 minuten of langer duren.
Het Visual Studio-installatieprogramma in Visual Studio 2022 biedt u opties in de vorm van workloads. Een workload is een verzameling frameworks, bibliotheken en andere hulpprogramma's die u combineert om een specifiek app-model te kunnen compileren. Op basis van wat u in de vorige les hebt geleerd, moet u ervoor zorgen dat u de workload installeert om nieuwe toepassingen voor dat app-model te bouwen.
Als u net aan de slag gaat, installeert de workload ASP.NET en webontwikkeling de .NET SDK en extra SDK's voor webontwikkeling met .NET. De .NET SDK bevat alle bibliotheken, hulpprogramma's en sjablonen die u nodig hebt om code te schrijven.
Als u liever een opdrachtregelomgeving hebt, downloadt en installeert u Visual Studio Code en de .NET SDK afzonderlijk. Deze keuze is populair voor beginners die snel aan de slag willen gaan. Er is minder bandbreedte nodig om beide hulpprogramma's te downloaden.
Aan de slag
Softwareontwikkelingsprojecten beginnen doorgaans met een set vereisten. Deze vereisten zijn van invloed op keuzes voor het app-model. Het app-model dat u kiest, kan bijvoorbeeld een web-, desktop- of mobiele toepassing of een achtergrondproces zijn.
Wanneer u Visual Studio 2022 of de .NET CLI gebruikt, begint u meestal met het maken van een nieuw project op basis van een projectsjabloon. U kunt kiezen uit een groot aantal projectsjablonen. Projectsjablonen:
- Genereer mappen en bestanden op basis van sjablonen en de naam van het project dat u definieert.
- Voeg verwijzingen toe aan veelgebruikte bibliotheken en bibliotheken die vereist zijn voor het framework van uw app model.
- Geef de vereiste code op waarmee u de toepassing kunt uitvoeren en een klein voorbeeld kunt zien, zodat u de codecompilaties kunt bevestigen.
- Geef zo nu en dan instructies op in de code. Deze instructies begeleiden u bij het aanpassen van de voorbeeldtoepassing aan uw eigen wensen.
In Visual Studio 2022 helpt het dialoogvenster Nieuw project u visueel een toepassingsmodel te kiezen uit een set geïnstalleerde sjablonen, of u kunt kiezen uit veel communitybijdragen. In de .NET CLI kiest u een nieuwe projectsjabloon met behulp van de nieuwe dotnet-opdracht.
Functionaliteit compileren
Vervolgens begint u met het schrijven van de logica voor uw toepassing. U voegt verwijzingen naar codebibliotheken toe wanneer u speciale taken moet uitvoeren, zoals:
- Verbinding maken met netwerkbronnen
- Toegang tot een database voor het opslaan of ophalen van gegevens
- Gegevens van de ene indeling converteren naar een andere
- Logboekregistratie toevoegen om problemen met uw toepassing vast te stellen
In sommige gevallen bestaan de codebibliotheken die u wilt gebruiken al op uw lokale harde schijf, omdat ze samen met de .NET SDK zijn geïnstalleerd.
In andere gevallen gebruiken ontwikkelaars NuGet-pakketbeheer om verwijzingen naar de assemblybibliotheken te downloaden en te maken. Als u deze resources wilt ophalen, afhankelijk van uw ontwikkelomgeving, kunt u het dialoogvenster Visual Studio NuGet Pakketbeheer of u kunt de opdrachtregelinterface van .NET CLI gebruiken.
Uw toepassing compileren en uitvoeren
Wanneer u nieuwe functionaliteit bouwt, maakt u uw code en voert u deze vaak uit. Met deze werkstroom kunt u beoordelen wat correct werkt en wat revisie behoeft. Zowel de visuele benadering als de aanpak via een opdrachtregel maken gebruik van eenvoudige opdrachten waarmee de werkstroom eenvoudig kan worden gevolgd.
Codesyntaxis wordt als onjuist beschouwd wanneer de syntaxis niet aan de regels van de taal volgt. Wanneer de syntaxis onjuist is, genereert de .NET-compiler voor uw taal een compilatiefout. De compiler kan pas worden voortgezet wanneer u het probleem met de syntaxis corrigeert.
Soms kunt u de code compileren die voldoet aan de syntaxisregels, maar problemen geven ten aanzien van de logica van de toepassing. Als de logica voorkomt dat de .NET-runtime een opdracht uitvoert, loopt het programma vast. De .NET-runtime verwijdert vervolgens het programma uit het geheugen van de computer. Dergelijke fouten worden runtimefouten of uitzonderingen genoemd.
Tip
Gelukkig kunt u programmatisch voorkomen dat de onbewerkte systeemfoutberichten uw gebruikers bereiken. Meer informatie vindt u door naar zelfstudies en documentatie over gestructureerde uitzonderingsverwerking te zoeken.
Sommige logische fouten leiden niet tot een 'crash'. Maar ze produceren ook niet de resultaten die uw gebruikers verwachten. U kunt deze fouten alleen oplossen door uw toepassing te testen en fouten erin op te sporen.
Fouten in uw toepassing opsporen
Tijdens het compileren van uw software gaat u de toepassing uitvoeren om te meten of deze voldoet aan uw vereisten en verwachtingen. Misschien ontdekt u een bug in uw toepassing, maar weet u niet waarom dit gebeurt of hoe u het probleem moet oplossen.
Wanneer u fouten opspoort, bekijkt u uw toepassing tijdens de uitvoering om te begrijpen wat er gebeurt. U kunt onderbrekingspunten instellen waarmee de toepassing wordt onderbroken en waarmee u de code kunt volgen terwijl deze wordt uitgevoerd, regel per regel. U kunt de waarden observeren die zijn opgeslagen in variabelen, het actieve pad overnemen door de code om regels over te slaan of opnieuw uit te voeren, de waarde van een variabele wijzigen, enzovoort.
Met de hulpprogramma's voor visuele en opdrachtregelopsporing kunt u de controle over het uitvoeren van de toepassing observeren en overnemen. Gebruik deze functionaliteit om te zien wat er gebeurt in uw toepassing terwijl deze wordt uitgevoerd.
De toepassing distribueren
Wanneer de toepassing klaar is om te worden uitgebracht, maakt u een releaseversie van de build. In een releaseversie verwijdert u de code die is vereist voor foutopsporing. In zowel de visuele hulpprogramma's als die via een opdrachtregel kunt u een releaseversie compileren.
Als u de releaseversie wilt uitvoeren, moet u eerst de .NET-runtime installeren op de doelcomputer. Op die computer wordt uw gecompileerde .NET-assembly uitgevoerd.
De werking van .NET tijdens runtime
Zodra u de .NET-assembly van uw toepassing en de .NET Runtime hebt geïnstalleerd op de doelcomputer, kunt u uw toepassing uitvoeren.
De .NET Runtime fungeert als een beschermende bel die een uitvoeringsomgeving biedt voor uw toepassingen. De .NET Runtime:
- Compileert bij de eerste uitvoering van het programma de tussenliggende code in een binaire indeling. De binaire indeling is specifiek voor het platform en de architectuur (bijvoorbeeld 64-bits Windows) op de computer waarop deze wordt uitgevoerd.
- Lokaliseert het ingangspunt van het programma, waarna wordt begonnen met de uitvoering van elke instructie in de juiste volgorde.
- Beheert computerresources, zoals geheugen en netwerktoegang. Wanneer u hoort dat de .NET-runtime geheugen beheert, betekent dit dat het met het besturingssysteem werkt om geheugen in te richten voor uw toepassing. Als uw toepassing de gegevens die zijn opgeslagen in het geheugen niet meer nodig heeft, wordt dat geheugengedeelte door een garbagecollection-functie teruggegeven aan het besturingssysteem zonder instructies van de softwareontwikkelaar.
- Beveiligt de computer van de gebruiker tegen software die mogelijk schadelijk is. Het biedt ook een isolatielaag tussen toepassingen.