Share via


Nyheter i .NET Core 2.0

.NET Core 2.0 innehåller förbättringar och nya funktioner inom följande områden:

Verktyg

dotnet-återställning körs implicit

I tidigare versioner av .NET Core var du tvungen att köra kommandot dotnet restore för att ladda ned beroenden direkt efter att du har skapat ett nytt projekt med det nya dotnet-kommandot, samt när du lade till ett nytt beroende i projektet.

Du behöver inte köra dotnet restore eftersom den körs implicit av alla kommandon som kräver en återställning, till exempel dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishoch dotnet pack. Om du vill inaktivera implicit återställning använder du alternativet --no-restore .

Kommandot dotnet restore är fortfarande användbart i vissa scenarier där det är meningsfullt att uttryckligen återställa, till exempel kontinuerliga integreringsversioner i Azure DevOps Services eller i byggsystem som uttryckligen behöver styra när återställningen sker.

Information om hur du hanterar NuGet-feeds finns i dokumentationendotnet restore.

Du kan också inaktivera automatisk anrop av dotnet restore genom att skicka växeln --no-restore till newkommandona , , runbuild, publish, packoch test .

Ommåla till .NET Core 2.0

Om .NET Core 2.0 SDK har installerats kan projekt som är avsedda för .NET Core 1.x omdirigeras till .NET Core 2.0.

Redigera projektfilen genom att ändra värdet för elementet <TargetFramework> (eller -elementet <TargetFrameworks> om du har fler än ett mål i projektfilen) från 1.x till 2.0 om du vill ommåla till .NET Core 2.0:

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
 </PropertyGroup>

Du kan också ommåla .NET Standard-bibliotek till .NET Standard 2.0 på samma sätt:

<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
 </PropertyGroup>

Mer information om hur du migrerar projektet till .NET Core 2.0 finns i Migrera från ASP.NET Core 1.x till ASP.NET Core 2.0.

Språkstöd

Förutom stöd för C# och F# stöder .NET Core 2.0 även Visual Basic.

Visual Basic

Med version 2.0 stöder .NET Core nu Visual Basic 2017. Du kan använda Visual Basic för att skapa följande projekttyper:

  • .NET Core-konsolappar
  • .NET Core-klassbibliotek
  • Klassbibliotek för .NET Standard
  • .NET Core-enhetstestprojekt
  • .NET Core xUnit-testprojekt

Om du till exempel vill skapa ett Visual Basic "Hello World"-program gör du följande steg från kommandoraden:

  1. Öppna ett konsolfönster, skapa en katalog för projektet och gör det till den aktuella katalogen.

  2. Ange kommandot dotnet new console -lang vb.

    Kommandot skapar en projektfil med ett .vbproj filnamnstillägg, tillsammans med en Visual Basic-källkodsfil med namnet Program.vb. Den här filen innehåller källkoden för att skriva strängen "Hello World!" till konsolfönstret.

  3. Ange kommandot dotnet run. .NET Core CLI kompilerar och kör programmet automatiskt, vilket visar meddelandet "Hello World!" i konsolfönstret.

Stöd för C# 7.1

.NET Core 2.0 har stöd för C# 7.1, vilket lägger till ett antal nya funktioner, inklusive:

  • Metoden Main , programmets startpunkt, kan markeras med nyckelordet async .
  • Härledda tupppelnamn.
  • Standarduttryck.

Plattformsförbättringar

.NET Core 2.0 innehåller ett antal funktioner som gör det enklare att installera .NET Core och använda det på operativsystem som stöds.

.NET Core för Linux är en enda implementering

.NET Core 2.0 erbjuder en enda Linux-implementering som fungerar på flera Linux-distributioner. .NET Core 1.x krävde att du laddade ned en distributionsspecifik Linux-implementering.

Du kan också utveckla appar som riktar sig till Linux som ett enda operativsystem. .NET Core 1.x krävde att du riktade in dig på varje Linux-distribution separat.

Stöd för Apples kryptografiska bibliotek

.NET Core 1.x på macOS krävde det kryptografiska biblioteket i OpenSSL-verktygslådan. .NET Core 2.0 använder Apples kryptografiska bibliotek och kräver inte OpenSSL, så du behöver inte längre installera det.

API-ändringar och biblioteksstöd

Stöd för .NET Standard 2.0

.NET Standard definierar en version av API:er som måste vara tillgängliga för .NET-implementeringar som uppfyller den versionen av standarden. .NET Standard riktar sig till biblioteksutvecklare. Syftet är att garantera de funktioner som är tillgängliga för ett bibliotek som är avsett för en version av .NET Standard för varje .NET-implementering. .NET Core 1.x stöder .NET Standard version 1.6; .NET Core 2.0 stöder den senaste versionen, .NET Standard 2.0. Mer information finns i .NET Standard.

.NET Standard 2.0 innehåller över 20 000 fler API:er än vad som var tillgängligt i .NET Standard 1.6. Mycket av den här utökade ytan beror på att API:er som är gemensamma för .NET Framework och Xamarin ingår i .NET Standard.

Klassbibliotek för .NET Standard 2.0 kan också referera till .NET Framework-klassbibliotek, förutsatt att de anropar API:er som finns i .NET Standard 2.0. Ingen omkompilering av .NET Framework-biblioteken krävs.

En lista över API:er som har lagts till i .NET Standard sedan den senaste versionen, .NET Standard 1.6, finns i .NET Standard 2.0 jämfört med 1.6.

Utökad yta

Det totala antalet API:er som är tillgängliga på .NET Core 2.0 har mer än fördubblats jämfört med .NET Core 1.1.

Och med Windows Compatibility Pack-porteringen från .NET Framework har det också blivit mycket enklare.

Stöd för .NET Framework-bibliotek

.NET Core-kod kan referera till befintliga .NET Framework-bibliotek, inklusive befintliga NuGet-paket. Observera att biblioteken måste använda API:er som finns i .NET Standard.

Integrering med Visual Studio

Visual Studio 2017 version 15.3 och i vissa fall Erbjuder Visual Studio för Mac ett antal betydande förbättringar för .NET Core-utvecklare.

Ommåla .NET Core-appar och .NET Standard-bibliotek

Om .NET Core 2.0 SDK är installerat kan du ommåla .NET Core 1.x-projekt till .NET Core 2.0- och .NET Standard 1.x-bibliotek till .NET Standard 2.0.

Om du vill ommåla projektet i Visual Studio öppnar du fliken Program i projektets egenskapsdialogruta och ändrar värdet för Target Framework till .NET Core 2.0 eller .NET Standard 2.0. Du kan också ändra det genom att högerklicka på projektet och välja filalternativet Redigera *.csproj . Mer information finns i avsnittet Verktyg tidigare i det här avsnittet.

Stöd för liveenhetstestning för .NET Core

När du ändrar koden kör Live Unit Testing automatiskt alla berörda enhetstester i bakgrunden och visar resultatet och kodtäckningen live i Visual Studio-miljön. .NET Core 2.0 stöder nu liveenhetstestning. Tidigare var liveenhetstestning endast tillgängligt för .NET Framework-program.

Mer information finns i Test av liveenheter med Visual Studio och vanliga frågor och svar om testning av liveenheter.

Bättre stöd för flera målramverk

Om du skapar ett projekt för flera målramverk kan du nu välja målplattformen på menyn på den översta nivån. I följande bild riktar sig ett projekt med namnet SCD1 till 64-bitars macOS X 10.11 (osx.10.11-x64) och 64-bitars Windows 10/Windows Server 2016 (win10-x64). Du kan välja målramverket innan du väljer projektknappen, i det här fallet för att köra en felsökningsversion.

Screenshot showing target framework selection when building a project.

Stöd sida vid sida för .NET Core SDK:er

Nu kan du installera .NET Core SDK oberoende av Visual Studio. Detta gör det möjligt för en enda version av Visual Studio att skapa projekt som riktar sig till olika versioner av .NET Core. Tidigare var Visual Studio och .NET Core SDK nära kopplade; en viss version av SDK:et åtföljde en viss version av Visual Studio.

Dokumentationsförbättringar

.NET-programarkitektur

Med .NET-programarkitektur får du tillgång till en uppsättning e-böcker som ger vägledning, metodtips och exempelprogram när du använder .NET för att skapa:

Se även