Co je nového v .NET Core 2.0

.NET Core 2.0 zahrnuje vylepšení a nové funkce v následujících oblastech:

Nástroje

dotnet restore se spouští implicitně

V předchozích verzích .NET Core jste museli spustit příkaz dotnet restore , který okamžitě po vytvoření nového projektu s novým příkazem dotnet stáhl závislosti a pokaždé, když jste do projektu přidali novou závislost.

Nemusíte spouštětdotnet restore, protože se spouští implicitně všemi příkazy, které vyžadují obnovení, například dotnet new, , dotnet build, dotnet run, dotnet testdotnet publisha dotnet pack. Pokud chcete zakázat implicitní obnovení, použijte tuto --no-restore možnost.

Příkaz dotnet restore je stále užitečný v určitých scénářích, kdy explicitní obnovení dává smysl, například sestavení kontinuální integrace ve službě Azure DevOps Services nebo v systémech sestavení, které potřebují explicitně řídit, kdy dojde k obnovení.

Informace o správě informačních kanálů NuGet najdete v dotnet restore dokumentaci.

Automatické vyvolání dotnet restore můžete také zakázat předáním --no-restore přepínače do newpřepínače , run, build, publish, pack, a test příkazů.

Změna cílení na .NET Core 2.0

Pokud je nainstalovaná sada .NET Core 2.0 SDK, projekty, které cílí na .NET Core 1.x, se dají změnit na .NET Core 2.0.

Pokud chcete změnit cílení na .NET Core 2.0, upravte soubor projektu změnou hodnoty elementu <TargetFramework> (nebo elementu <TargetFrameworks> , pokud máte v souboru projektu více než jeden cíl) z 1.x na 2.0:

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

Knihovny .NET Standard můžete také změnit na .NET Standard 2.0 stejným způsobem:

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

Další informace o migraci projektu na .NET Core 2.0 najdete v tématu Migrace z ASP.NET Core 1.x na ASP.NET Core 2.0.

Podpora jazyků

Kromě podpory C# a F# podporuje .NET Core 2.0 také Visual Basic.

Visual Basic

S verzí 2.0 teď .NET Core podporuje Visual Basic 2017. Pomocí jazyka Visual Basic můžete vytvořit následující typy projektů:

  • Konzolové aplikace .NET Core
  • Knihovny tříd .NET Core
  • Knihovny tříd .NET Standard
  • Projekty testů jednotek .NET Core
  • Projekty testů .NET Core xUnit

Pokud například chcete vytvořit aplikaci Hello World v jazyce Visual Basic, proveďte následující kroky z příkazového řádku:

  1. Otevřete okno konzoly, vytvořte adresář pro projekt a nastavte ho jako aktuální adresář.

  2. Zadejte příkaz dotnet new console -lang vb.

    Příkaz vytvoří soubor projektu s příponou .vbproj souboru spolu se zdrojovým kódem jazyka Visual Basic s názvem Program.vb. Tento soubor obsahuje zdrojový kód pro zápis řetězce "Hello World!" do okna konzoly.

  3. Zadejte příkaz dotnet run. Rozhraní příkazového řádku .NET Core se automaticky zkompiluje a spustí aplikaci, která v okně konzoly zobrazí zprávu "Hello World!".

Podpora pro C# 7.1

.NET Core 2.0 podporuje C# 7.1, což přidává řadu nových funkcí, mezi které patří:

  • MetoduMain, vstupní bod aplikace, lze označit asynchronním klíčovým slovem.
  • Odvozené názvy řazené kolekce členů
  • Výchozí výrazy.

Vylepšení platformy

.NET Core 2.0 obsahuje řadu funkcí, které usnadňují instalaci .NET Core a jeho použití v podporovaných operačních systémech.

.NET Core pro Linux je jedna implementace

.NET Core 2.0 nabízí jednu implementaci Linuxu, která funguje na několika distribucích Linuxu. .NET Core 1.x vyžaduje, abyste si stáhli implementaci Linuxu specifickou pro distribuci.

Můžete také vyvíjet aplikace, které cílí na Linux jako jeden operační systém. .NET Core 1.x vyžaduje, abyste každou distribuci Linuxu cílili samostatně.

Podpora kryptografických knihoven Apple

.NET Core 1.x v systému macOS vyžadoval kryptografickou knihovnu sady nástrojů OpenSSL. .NET Core 2.0 používá kryptografické knihovny Apple a nevyžaduje OpenSSL, takže už ho nemusíte instalovat.

Změny rozhraní API a podpora knihoven

Podpora pro .NET Standard 2.0

.NET Standard definuje sadu verzí rozhraní API, která musí být k dispozici v implementacích .NET, které splňují danou verzi standardu. .NET Standard se zaměřuje na vývojáře knihoven. Cílem je zaručit funkčnost, která je k dispozici pro knihovnu, která cílí na verzi .NET Standard při každé implementaci .NET. .NET Core 1.x podporuje .NET Standard verze 1.6; .NET Core 2.0 podporuje nejnovější verzi .NET Standard 2.0. Další informace naleznete v tématu .NET Standard.

.NET Standard 2.0 zahrnuje více než 20 000 rozhraní API, než bylo k dispozici v .NET Standard 1.6. Velká část této rozšířené oblasti má za následek začlenění rozhraní API, která jsou společná pro rozhraní .NET Framework a Xamarin do .NET Standard.

Knihovny tříd .NET Standard 2.0 mohou také odkazovat na knihovny tříd rozhraní .NET Framework za předpokladu, že volají rozhraní API, která jsou přítomna v rozhraní .NET Standard 2.0. Nevyžaduje se žádná rekompilace knihoven rozhraní .NET Framework.

Seznam rozhraní API, která byla od poslední verze přidána do rozhraní .NET Standard, .NET Standard 1.6, najdete v tématu .NET Standard 2.0 vs. 1.6.

Rozšířená plocha povrchu

Celkový počet rozhraní API dostupných v .NET Core 2.0 se oproti .NET Core 1.1 více než zdvojnásobil.

A díky přenosu sady Windows Compatibility Pack z rozhraní .NET Framework je také mnohem jednodušší.

Podpora knihoven rozhraní .NET Framework

Kód .NET Core může odkazovat na existující knihovny rozhraní .NET Framework, včetně existujících balíčků NuGet. Upozorňujeme, že knihovny musí používat rozhraní API, která jsou nalezena ve standardu .NET.

Integrace se sadou Visual Studio

Visual Studio 2017 verze 15.3 a v některých případech Visual Studio pro Mac nabízejí řadu významných vylepšení pro vývojáře .NET Core.

Změna cílení aplikací .NET Core a knihoven .NET Standard

Pokud je nainstalovaná sada .NET Core 2.0 SDK, můžete změnit cílení projektů .NET Core 1.x na knihovny .NET Core 2.0 a .NET Standard 1.x na .NET Standard 2.0.

Chcete-li změnit cílení projektu v sadě Visual Studio, otevřete kartu Aplikace dialogového okna vlastností projektu a změňte hodnotu cílové architektury na .NET Core 2.0 nebo .NET Standard 2.0. Můžete ho také změnit tak, že kliknete pravým tlačítkem myši na projekt a vyberete možnost Upravit soubor *.csproj. Další informace najdete v části Nástroje uvedené výše v tomto tématu.

Podpora Live Unit Testing pro .NET Core

Kdykoli upravíte kód, Live Unit Testing automaticky spustí všechny ovlivněné testy jednotek na pozadí a zobrazí výsledky a pokrytí kódu živě v prostředí sady Visual Studio. .NET Core 2.0 teď podporuje Live Unit Testing. Dříve bylo živé testování částí k dispozici pouze pro aplikace rozhraní .NET Framework.

Další informace najdete v tématu Live Unit Testing pomocí sady Visual Studio a nejčastější dotazy k live unit testing.

Lepší podpora více cílových architektur

Pokud vytváříte projekt pro více cílových architektur, můžete teď v nabídce nejvyšší úrovně vybrat cílovou platformu. Na následujícím obrázku projekt s názvem SCD1 cílí na 64bitovou verzi macOS X 10.11 (osx.10.11-x64) a 64bitovou verzi Windows 10 nebo Windows Server 2016 (win10-x64). Před výběrem tlačítka projektu můžete vybrat cílovou architekturu, v tomto případě spustit sestavení ladění.

Screenshot showing target framework selection when building a project.

Souběžná podpora sad .NET Core SDK

Sadu .NET Core SDK teď můžete nainstalovat nezávisle na sadě Visual Studio. Díky tomu může jedna verze sady Visual Studio vytvářet projekty, které cílí na různé verze .NET Core. Dříve byla sada Visual Studio a sada .NET Core SDK úzce svázané; konkrétní verze sady SDK doprovázela konkrétní verzi sady Visual Studio.

Vylepšení dokumentace

Architektura aplikací .NET

Architektura aplikace .NET poskytuje přístup k sadě elektronických knih, které poskytují pokyny, osvědčené postupy a ukázkové aplikace při sestavování .NET:

Viz také