Beginnen met .NET Core
Home

Beginnen met .NET Core

Beginnen met .NET Core

.NET core is de nieuwe versie van .NET en deze versie is open source. Dat is dan ook de reden dat deze versie niet gewoon doorgenummerd is, maar een nieuwe naam heeft gekregen.

In deze module leren we werken met .NET Core 2.0.
In de module van Vincent Nys wordt gewerkt met .NET Core 3.0 en zonder Cloud9. De uitleg op deze pagina blijft van toepassing. Alleen de versienummers in de code zijn anders.

In dit artikel doorlopen we de verschillende beschikbare programmeertools om .NET Core applicaties te schrijven. We beginnen met de commando-hulpprogramma's die met de SDK worden meegeleverd. Je kan die koppelen aan om het even welke editor. Dan gaan we in op de nieuwe mogelijkheden van Visual Studio 2017 en van het nieuwste lid van de Visual Studio-familie, Visual Studio voor Mac. We eindigen met te laten zien hoe deze tools je in staat stellen om software-containers te gebruiken en je apps naadloos te integeren op Cloud9 workspaces. We hadden dat ook graag gedaan voor de Microsoft Azure-cloud maar daarvoor heb je een credietkaart nodig.

Wat is het?

Vroeger moest je om .NET toch op Linux te kunnen laten draaien, gebruik maken van het open source project Mono. Dit ondersteunt de belangrijkste kenmerken maar het beschikt niet over support vanuit Microsoft. Deze release van .NET Core is deel van Microsofts nieuwe strategie om het .NET ontwikkelplatform open source te maken. Microsoft laten weten dat meer dan de helft van de bijdragen aan het platform nu al van buiten Microsoft komt.

.NET core is beschikbaar voor:

Bronnen

Immo Landwerth, .NET Standard - Demystifying .NET Core and .NET Standard, September 2017

Andrew Hall & Joe Morris, .NET Core - Write .NET Apps How and Where You Want, September 2017

Eerst wat uitleg

Het gemeenschappelijke Project bestand

.NET Core 2.0-projecten delen een zeer vereenvoudigd gemeenschappelijk projectformaat. Dit betekent dat een project, dat is gemaakt met een hulpprogramma (bijvoorbeeld de commando-hulpprogramma's) werkt op alles wat .NET Core, zoals Visual Studio of Visual Studio for Mac, werkt. Met het nieuwe projectbestandformaat is de noodzaak voor GUID's en voor het expliciete oplijsten van dependencies niet meer nodig. Dat verkleint het risico op merge-conflicten bij het uitvoeren van updates voor versiecontrole. Een voorbeeld:

Console applicatie

De volgende code toont de inhoud van het projectbestand voor een nieuwe C # .NET Core-console app op Cloud9, een Linux VPS:

Common Project File Cloud9
Common Project File Cloud9

En hier vind je het zelfde bestand maar nu in Visual Studio voor Windows:

Common Project File Visual Studio Windows
Common Project File Visual Studio Windows

Hier is de code:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
</Project>

Eenvoudige ADO.NET applicatie

Toen ik met de voorbereiding bezig was voor deze module wou ik als voorbeeld een eenvoudige ADO.NET applicatie op Cloud9 maken. Het was niet eenvoudig om het projectbestand samen te stellen. Op internet is nog zo heel veel te vinden over .NET Core 2.0. Vooral omdat ik een voorbeeld met MySQL wilde geven. Toen kwam ik op het idee om het project eerst in Visual Studio lokaal op mijn PC te maken en het projectbestand te laten maken door VS. Het is immers gemakkelijk om de dependencies in Visual Studio te installeren met behulp van de NuGet Package Manager. Zo gezegd zo gedaan. Na het installeren van MySQL libraries had ik mijn projectfile:

Project File Simple ADO.NET project VS
Project File Simple ADO.NET project VS

Het volstaat nu het bestand te verplaatsen naar Cloud9:

Project File Simple ADO.NET project Cloud9
Project File Simple ADO.NET project Cloud9

Ik heb geen letter aan het projectbestand veranderd en ik heb de instellingen om op Cloud9 ADO.NET met MySQL te kunnen gebruiken.

Aan de slag met .NET Core

Je hebt verschillende mogelijkheden om .NET Core programma's te maken:

  1. Programmeren met de .NET Core Command Line Interface
  2. Programmeren in Visual Studio

JI
2017-09-09 17:43:54