Wat is er nieuw in .NET Core 2.0?
.NET Core 2.0 bevat verbeteringen en nieuwe functies op de volgende gebieden:
- Tooling
- Taalondersteuning
- Platformverbeteringen
- API-wijzigingen
- Visual Studio-integratie
- Documentatieverbeteringen
Hulpprogramma's
dotnet-herstel wordt impliciet uitgevoerd
In eerdere versies van .NET Core moest u de opdracht dotnet-herstel uitvoeren om afhankelijkheden direct te downloaden nadat u een nieuw project met de nieuwe opdracht dotnet hebt gemaakt, en wanneer u een nieuwe afhankelijkheid aan uw project hebt toegevoegd.
U hoeft niet uit te voeren dotnet restore
omdat deze impliciet wordt uitgevoerd door alle opdrachten waarvoor een herstelbewerking moet worden uitgevoerd, zoals dotnet new
, dotnet build
, , dotnet run
, dotnet test
, , en dotnet publish
.dotnet pack
Als u impliciete herstel wilt uitschakelen, gebruikt u de --no-restore
optie.
De dotnet restore
opdracht is nog steeds nuttig in bepaalde scenario's waarbij het expliciet herstellen zinvol is, zoals builds voor continue integratie in Azure DevOps Services of in buildsystemen die expliciet moeten worden beheerd wanneer de herstelbewerking plaatsvindt.
Zie de dotnet restore
documentatie voor informatie over het beheren van NuGet-feeds.
U kunt ook de automatische aanroep uitschakelen dotnet restore
door de --no-restore
schakeloptie door te geven aan de new
run
, , build
, publish
, en pack
test
opdrachten.
Retargeting naar .NET Core 2.0
Als de .NET Core 2.0 SDK is geïnstalleerd, kunnen projecten die zich richten op .NET Core 1.x, opnieuw worden gericht op .NET Core 2.0.
Als u wilt terugkeren naar .NET Core 2.0, bewerkt u het projectbestand door de waarde van het <TargetFramework>
element (of het <TargetFrameworks>
element als u meer dan één doel in uw projectbestand hebt) te wijzigen van 1.x in 2.0:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
U kunt .NET Standard-bibliotheken ook op dezelfde manier retargeten naar .NET Standard 2.0:
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
Zie Migreren van ASP.NET Core 1.x naar ASP.NET Core 2.0 voor meer informatie over het migreren van uw project naar .NET Core 2.0.
Taalondersteuning
Naast ondersteuning voor C# en F# biedt .NET Core 2.0 ook ondersteuning voor Visual Basic.
Visual Basic
Met versie 2.0 ondersteunt .NET Core nu Visual Basic 2017. U kunt Visual Basic gebruiken om de volgende projecttypen te maken:
- .NET Core-console-apps
- .NET Core-klassebibliotheken
- .NET Standard-klassebibliotheken
- Testprojecten voor .NET Core-eenheden
- .NET Core xUnit-testprojecten
Als u bijvoorbeeld een Visual Basic-toepassing Hallo wereld wilt maken, voert u de volgende stappen uit vanaf de opdrachtregel:
Open een consolevenster, maak een map voor uw project en maak er de huidige map van.
Voer de opdracht
dotnet new console -lang vb
in.Met de opdracht maakt u een projectbestand met een
.vbproj
bestandsextensie, samen met een Visual Basic-broncodebestand met de naam Program.vb. Dit bestand bevat de broncode voor het schrijven van de tekenreeks 'Hallo wereld!' naar het consolevenster.Voer de opdracht
dotnet run
in. De .NET CLI compileert en voert de toepassing automatisch uit, waarin het bericht 'Hallo wereld!' in het consolevenster wordt weergegeven.
Ondersteuning voor C# 7.1
.NET Core 2.0 ondersteunt C# 7.1, waarmee een aantal nieuwe functies wordt toegevoegd, waaronder:
- De
Main
methode, het toegangspunt van de toepassing, kan worden gemarkeerd met het asynchrone trefwoord. - Uitgestelde tuplenamen.
- Standaardexpressies.
Platformverbeteringen
.NET Core 2.0 bevat een aantal functies waarmee u .NET Core gemakkelijker kunt installeren en gebruiken op ondersteunde besturingssystemen.
.NET Core voor Linux is één implementatie
.NET Core 2.0 biedt één Linux-implementatie die werkt op meerdere Linux-distributies. .NET Core 1.x vereist dat u een distributiespecifieke Linux-implementatie downloadt.
U kunt ook apps ontwikkelen die gericht zijn op Linux als één besturingssysteem. .NET Core 1.x vereist dat u elke Linux-distributie afzonderlijk richt.
Ondersteuning voor de cryptografische Apple-bibliotheken
.NET Core 1.x op macOS vereist de cryptografische bibliotheek van de OpenSSL-toolkit. .NET Core 2.0 maakt gebruik van de cryptografische Apple-bibliotheken en vereist geen OpenSSL, dus u hoeft deze niet meer te installeren.
API-wijzigingen en bibliotheekondersteuning
Ondersteuning voor .NET Standard 2.0
.NET Standard definieert een set api's met versiebeheer die beschikbaar moeten zijn voor .NET-implementaties die voldoen aan die versie van de standaard. .NET Standard is gericht op bibliotheekontwikkelaars. Het is erop gericht de functionaliteit te garanderen die beschikbaar is voor een bibliotheek die is gericht op een versie van .NET Standard voor elke .NET-implementatie. .NET Core 1.x ondersteunt .NET Standard versie 1.6; .NET Core 2.0 ondersteunt de nieuwste versie, .NET Standard 2.0. Zie .NET Standard voor meer informatie.
.NET Standard 2.0 bevat meer dan 20.000 API's dan beschikbaar waren in .NET Standard 1.6. Veel van dit uitgebreide oppervlak is het gevolg van het opnemen van API's die gebruikelijk zijn voor .NET Framework en Xamarin in .NET Standard.
.NET Standard 2.0-klassebibliotheken kunnen ook verwijzen naar .NET Framework-klassebibliotheken, mits ze API's aanroepen die aanwezig zijn in .NET Standard 2.0. Er is geen hercompilatie van de .NET Framework-bibliotheken vereist.
Zie .NET Standard 2.0 versus 1.6 voor een lijst met api's die zijn toegevoegd aan .NET Standard sinds de laatste versie, .NET Standard 1.6.
Uitgevouwen oppervlakte
Het totale aantal API's dat beschikbaar is op .NET Core 2.0 is meer dan verdubbeld in vergelijking met .NET Core 1.1.
En met het Windows-compatibiliteitspakket dat vanuit .NET Framework wordt overgezet, is het ook veel eenvoudiger geworden.
Ondersteuning voor .NET Framework-bibliotheken
.NET Core-code kan verwijzen naar bestaande .NET Framework-bibliotheken, waaronder bestaande NuGet-pakketten. Houd er rekening mee dat voor de bibliotheken API's moeten worden gebruikt die zijn gevonden in .NET Standard.
Integratie met Visual Studio
Visual Studio 2017 versie 15.3 biedt een aantal belangrijke verbeteringen voor .NET Core-ontwikkelaars.
.NET Core-apps en .NET Standard-bibliotheken opnieuw targeten
Als de .NET Core 2.0 SDK is geïnstalleerd, kunt u .NET Core 1.x-projecten opnieuw instellen op .NET Core 2.0- en .NET Standard 1.x-bibliotheken naar .NET Standard 2.0.
Als u uw project opnieuw wilt instellen in Visual Studio, opent u het tabblad Toepassing van het dialoogvenster Eigenschappen van het project en wijzigt u de waarde van het doelframework in .NET Core 2.0 of .NET Standard 2.0. U kunt het bestand ook wijzigen door met de rechtermuisknop op het project te klikken en de optie *.csproj-bestand bewerken te selecteren. Zie de sectie Hulpprogramma's eerder in dit onderwerp voor meer informatie.
Ondersteuning voor live-eenheidstests voor .NET Core
Wanneer u uw code wijzigt, voert Live Unit Testing automatisch alle betrokken eenheidstests op de achtergrond uit en worden de resultaten en codedekking live weergegeven in de Visual Studio-omgeving. .NET Core 2.0 ondersteunt nu Live Unit Testing. Voorheen was Live Unit Testing alleen beschikbaar voor .NET Framework-toepassingen.
Zie Live Unit Testing met Visual Studio en de veelgestelde vragen over live-eenheidstests voor meer informatie.
Betere ondersteuning voor meerdere doelframeworks
Als u een project bouwt voor meerdere doelframeworks, kunt u nu het doelplatform selecteren in het menu op het hoogste niveau. In de volgende afbeelding is een project met de naam SCD1 gericht op 64-bits macOS X 10.11 (osx.10.11-x64
) en 64-bits Windows 10/Windows Server 2016 (win10-x64
). U kunt het doelframework selecteren voordat u de projectknop selecteert, in dit geval om een foutopsporingsbuild uit te voeren.
Ondersteuning naast elkaar voor .NET Core SDK's
U kunt nu de .NET Core SDK onafhankelijk van Visual Studio installeren. Hierdoor kan één versie van Visual Studio projecten bouwen die zijn gericht op verschillende versies van .NET Core. Voorheen waren Visual Studio en de .NET Core SDK nauw gekoppeld; een bepaalde versie van de SDK vergezeld van een bepaalde versie van Visual Studio.
Documentatieverbeteringen
.NET-toepassingsarchitectuur
.NET-toepassingsarchitectuur biedt u toegang tot een set e-books die richtlijnen, best practices en voorbeeldtoepassingen biedt wanneer u .NET gebruikt om te bouwen:
- Microservices en Docker-containers
- Webtoepassingen met ASP.NET
- Toepassingen die zijn geïmplementeerd in de cloud met Azure