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 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:
- Windows;
- OS X;
- Linux;
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:
En hier vind je het zelfde bestand maar nu in Visual Studio voor 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:
Het volstaat nu het bestand te verplaatsen naar 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: