Co nowego w programie .NET Core 2.0

Platforma .NET Core 2.0 zawiera ulepszenia i nowe funkcje w następujących obszarach:

Narzędzia

funkcja dotnet restore jest uruchamiana niejawnie

W poprzednich wersjach platformy .NET Core trzeba było uruchomić polecenie dotnet restore w celu pobrania zależności natychmiast po utworzeniu nowego projektu za pomocą polecenia dotnet new , a także za każdym razem, gdy dodano nową zależność do projektu.

Nie trzeba uruchamiaćdotnet restore, ponieważ jest ona uruchamiana niejawnie przez wszystkie polecenia, które wymagają przywrócenia, takie jak dotnet new, , dotnet build, dotnet rundotnet test, , dotnet publish, i dotnet pack. Aby wyłączyć niejawne przywracanie, użyj --no-restore opcji .

Polecenie dotnet restore jest nadal przydatne w niektórych scenariuszach, w których jawne przywracanie ma sens, takie jak kompilacje ciągłej integracji w usługach Azure DevOps Services lub w systemach kompilacji, które muszą jawnie kontrolować, kiedy nastąpi przywracanie.

Aby uzyskać informacje na temat zarządzania kanałami informacyjnymi NuGet, zobacz dokumentacjędotnet restore.

Możesz również wyłączyć automatyczne wywołaniedotnet restore, przekazując --no-restore przełącznik do newpoleceń , , runpublishbuild, , packi .test

Ponowne pobieranie do platformy .NET Core 2.0

Jeśli zestaw SDK platformy .NET Core 2.0 jest zainstalowany, projekty przeznaczone dla platformy .NET Core 1.x mogą zostać ponownie skierowane do platformy .NET Core 2.0.

Aby ponownie uzyskać wartość .NET Core 2.0, zmodyfikuj plik projektu, zmieniając wartość <TargetFramework> elementu (lub <TargetFrameworks> element, jeśli masz więcej niż jeden element docelowy w pliku projektu) z zakresu od 1.x do 2.0:

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

Możesz również ponownie uzyskać biblioteki .NET Standard do platformy .NET Standard 2.0 w taki sam sposób:

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

Aby uzyskać więcej informacji na temat migrowania projektu do platformy .NET Core 2.0, zobacz Migrowanie z platformy ASP.NET Core 1.x do ASP.NET Core 2.0.

Obsługa języków

Oprócz obsługi języków C# i F# platforma .NET Core 2.0 obsługuje również język Visual Basic.

Visual Basic

W wersji 2.0 platforma .NET Core obsługuje teraz program Visual Basic 2017. Za pomocą języka Visual Basic można utworzyć następujące typy projektów:

  • Aplikacje konsolowe platformy .NET Core
  • Biblioteki klas platformy .NET Core
  • Biblioteki klas platformy .NET Standard
  • Projekty testów jednostkowych platformy .NET Core
  • Projekty testowe platformy .NET Core xUnit

Aby na przykład utworzyć aplikację "Hello World" w języku Visual Basic, wykonaj następujące kroki w wierszu polecenia:

  1. Otwórz okno konsoli, utwórz katalog dla projektu i ustaw go jako bieżący katalog.

  2. Wprowadź polecenie dotnet new console -lang vb.

    Polecenie tworzy plik projektu z rozszerzeniem pliku wraz z plikiem źródłowym .vbproj języka Visual Basic o nazwie Program.vb. Ten plik zawiera kod źródłowy do zapisania ciągu "Hello World!" w oknie konsoli.

  3. Wprowadź polecenie dotnet run. Interfejs wiersza polecenia platformy .NET Core automatycznie kompiluje i wykonuje aplikację, która wyświetla komunikat "Hello World!" w oknie konsoli.

Obsługa języka C# 7.1

Platforma .NET Core 2.0 obsługuje język C# 7.1, który dodaje szereg nowych funkcji, w tym:

  • Main Metoda , punkt wejścia aplikacji, można oznaczyć za pomocą słowa kluczowego asynchronicznego.
  • Wywnioskowane nazwy krotek.
  • Wyrażenia domyślne.

Ulepszenia platformy

Platforma .NET Core 2.0 zawiera wiele funkcji, które ułatwiają instalowanie platformy .NET Core i używanie jej w obsługiwanych systemach operacyjnych.

Platforma .NET Core dla systemu Linux to pojedyncza implementacja

Platforma .NET Core 2.0 oferuje pojedynczą implementację systemu Linux, która działa w wielu dystrybucjach systemu Linux. Program .NET Core 1.x wymaga pobrania implementacji systemu Linux specyficznej dla dystrybucji.

Możesz również tworzyć aplikacje przeznaczone dla systemu Linux jako pojedynczy system operacyjny. Platforma .NET Core 1.x wymaga oddzielnej dystrybucji systemu Linux.

Obsługa bibliotek kryptograficznych firmy Apple

Platforma .NET Core 1.x w systemie macOS wymagała biblioteki kryptograficznego zestawu narzędzi OpenSSL. Platforma .NET Core 2.0 używa bibliotek kryptograficznych firmy Apple i nie wymaga bibliotek OpenSSL, więc nie trzeba jej już instalować.

Obsługa zmian interfejsu API i biblioteki

Obsługa platformy .NET Standard 2.0

.NET Standard definiuje zestaw wersji interfejsów API, które muszą być dostępne w implementacjach platformy .NET, które są zgodne z wersją standardu. Platforma .NET Standard jest przeznaczona dla deweloperów bibliotek. Ma ona na celu zagwarantowanie funkcjonalności dostępnej dla biblioteki przeznaczonej dla wersji platformy .NET Standard w każdej implementacji platformy .NET. Platforma .NET Core 1.x obsługuje platformę .NET Standard w wersji 1.6. Platforma .NET Core 2.0 obsługuje najnowszą wersję .NET Standard 2.0. Aby uzyskać więcej informacji, zobacz .NET Standard.

Platforma .NET Standard 2.0 zawiera ponad 20 000 interfejsów API, niż były dostępne na platformie .NET Standard 1.6. Wiele z tych rozszerzonych obszarów powierzchni wynika z dołączania interfejsów API, które są wspólne dla platformy .NET Framework i platformy Xamarin w programie .NET Standard.

Biblioteki klas .NET Standard 2.0 mogą również odwoływać się do bibliotek klas programu .NET Framework, pod warunkiem, że wywołają interfejsy API, które znajdują się na platformie .NET Standard 2.0. Nie jest wymagana ponowna kompilacja bibliotek .NET Framework.

Aby uzyskać listę interfejsów API, które zostały dodane do platformy .NET Standard od jego ostatniej wersji, .NET Standard 1.6, zobacz .NET Standard 2.0 vs. 1.6.

Rozszerzony obszar powierzchni

Całkowita liczba interfejsów API dostępnych na platformie .NET Core 2.0 jest większa niż dwukrotnie w porównaniu z platformą .NET Core 1.1.

Ponadto przenoszenie pakietu zgodności systemu Windows z programu .NET Framework stało się znacznie prostsze.

Obsługa bibliotek programu .NET Framework

Kod platformy .NET Core może odwoływać się do istniejących bibliotek .NET Framework, w tym istniejących pakietów NuGet. Należy pamiętać, że biblioteki muszą używać interfejsów API znajdujących się w programie .NET Standard.

Integracja z programem Visual Studio

Program Visual Studio 2017 w wersji 15.3 i w niektórych przypadkach Visual Studio dla komputerów Mac oferuje szereg znaczących ulepszeń dla deweloperów platformy .NET Core.

Retargeting .NET Core apps and .NET Standard libraries (Ponowne pobieranie aplikacji platformy .NET Core i bibliotek .NET Standard)

Jeśli zestaw SDK platformy .NET Core 2.0 jest zainstalowany, możesz ponownie uruchomić projekty .NET Core 1.x do bibliotek .NET Core 2.0 i .NET Standard 1.x do platformy .NET Standard 2.0.

Aby ponownie uzyskać projekt w programie Visual Studio, otwórz kartę Aplikacja okna dialogowego właściwości projektu i zmień wartość platformy docelowej na .NET Core 2.0 lub .NET Standard 2.0. Możesz ją również zmienić, klikając prawym przyciskiem myszy projekt i wybierając opcję Edytuj plik *.csproj. Aby uzyskać więcej informacji, zobacz sekcję Narzędzia we wcześniejszej części tego tematu.

Obsługa funkcji Live Unit Testing dla platformy .NET Core

Za każdym razem, gdy modyfikujesz kod, funkcja Live Unit Testing automatycznie uruchamia wszystkie testy jednostkowe, których dotyczy problem, i wyświetla wyniki i pokrycie kodu na żywo w środowisku programu Visual Studio. Platforma .NET Core 2.0 obsługuje teraz testy jednostkowe na żywo. Wcześniej testy jednostkowe na żywo były dostępne tylko dla aplikacji .NET Framework.

Aby uzyskać więcej informacji, zobacz Live Unit Testing with Visual Studio (Testy jednostkowe na żywo w programie Visual Studio) i Live Unit Testing FAQ (Testy jednostkowe na żywo — często zadawane pytania).

Lepsza obsługa wielu platform docelowych

Jeśli tworzysz projekt dla wielu platform docelowych, możesz teraz wybrać platformę docelową z menu najwyższego poziomu. Na poniższej ilustracji projekt o nazwie SCD1 jest przeznaczony dla 64-bitowego systemu macOS X 10.11 (osx.10.11-x64) i 64-bitowego systemu Windows 10/Windows Server 2016 (win10-x64). Możesz wybrać strukturę docelową przed wybraniem przycisku projektu, w tym przypadku w celu uruchomienia kompilacji debugowania.

Screenshot showing target framework selection when building a project.

Obsługa równoległa zestawów SDK platformy .NET Core

Teraz można zainstalować zestaw .NET Core SDK niezależnie od programu Visual Studio. Dzięki temu można utworzyć projekty przeznaczone dla różnych wersji platformy .NET Core w jednej wersji programu Visual Studio. Wcześniej program Visual Studio i zestaw .NET Core SDK były ściśle powiązane; określona wersja zestawu SDK towarzyszyła określonej wersji programu Visual Studio.

Ulepszenia dokumentacji

Architektura aplikacji platformy .NET

Architektura aplikacji platformy .NET zapewnia dostęp do zestawu książek elektronicznych, które zapewniają wskazówki, najlepsze rozwiązania i przykładowe aplikacje podczas korzystania z platformy .NET do tworzenia:

Zobacz też