Установка .NET Core в WindowsInstall .NET Core on Windows

В этой статье вы узнаете, как установить .NET Core в Windows.In this article, you'll learn how to install .NET Core on Windows. .NET Core состоит из среды выполнения и пакета SDK..NET Core is made up of the runtime and the SDK. Среда выполнения используется для запуска приложения .NET Core и может не включаться в состав приложения.The runtime is used to run a .NET Core app and may or may not be included with the app. Пакет SDK используется для создания приложений и библиотек .NET Core.The SDK is used to create .NET Core apps and libraries. Среда выполнения .NET Core всегда устанавливается вместе с пакетом SDK.The .NET Core runtime is always installed with the SDK.

.NET Core 3.1 является последней версией.The latest version of .NET Core is 3.1.

Поддерживаемые выпускиSupported releases

В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET Core и версий Windows, в которых они поддерживаются.The following table is a list of currently supported .NET Core releases and the versions of Windows they're supported on. Эти версии поддерживаются до окончания поддержки версии .NET Core, либо до окончания жизненного цикла версии Windows.These versions remain supported until either the version of .NET Core reaches end-of-support or the version of Windows reaches end-of-life.

Даты окончания жизненного цикла версий Windows 10 зависят от выпуска.Windows 10 versions end-of-service dates are segmented by edition. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций.Only Home, Pro, Pro Education, and Pro for Workstations editions are considered in the following table. Дополнительные сведения см. в справочных материалах по жизненному циклу поддержки Windows.Check the Windows lifecycle fact sheet for specific details.

  • Значок ✔️ означает, что версия Windows или .NET Core поддерживается.A ✔️ indicates that the version of Windows or .NET Core is still supported.
  • Значок ❌ означает, что версия Windows или версия .NET Core в таком выпуске Windows не поддерживается.A ❌ indicates that the version of Windows or .NET Core isn't supported on that Windows release.
  • Если значок ✔️ стоит как напротив версии Windows, так и напротив версии .NET Core, это значит, что такое сочетание ОС и .NET поддерживается.When both a version of Windows and a version of .NET Core have ✔️, that OS and .NET combination are supported.
Операционная системаOperating System .NET Core 2.1.NET Core 2.1 .NET Core 3.1.NET Core 3.1 Предварительная версия .NET 5.NET 5 Preview
✔️ Windows 10, версия 2004✔️ Windows 10, Version 2004 ✔️ 2.1✔️ 2.1 ✔️ 3.1✔️ 3.1 ✔️ 5.0 (предварительная версия)✔️ 5.0 Preview
✔️ Windows 10, версия 1909✔️ Windows 10, Version 1909 ✔️ 2.1✔️ 2.1 ✔️ 3.1✔️ 3.1 ✔️ 5.0 (предварительная версия)✔️ 5.0 Preview
✔️ Windows 10, версия 1903✔️ Windows 10, Version 1903 ✔️ 2.1✔️ 2.1 ✔️ 3.1✔️ 3.1 ✔️ 5.0 (предварительная версия)✔️ 5.0 Preview
✔️ Windows 10, версия 1809✔️ Windows 10, Version 1809 ✔️ 2.1✔️ 2.1 ✔️ 3.1✔️ 3.1 ✔️ 5.0 (предварительная версия)✔️ 5.0 Preview
❌ Windows 10, версия 1803❌ Windows 10, Version 1803 ✔️ 2.1✔️ 2.1 ❌ 3.1❌ 3.1 ❌ 5.0 (предварительная версия)❌ 5.0 Preview
❌ Windows 10, версия 1709❌ Windows 10, Version 1709 ❌ 2.1❌ 2.1 ❌ 3.1❌ 3.1 ❌ 5.0 (предварительная версия)❌ 5.0 Preview
❌ Windows 10, версия 1703❌ Windows 10, Version 1703 ❌ 2.1❌ 2.1 ❌ 3.1❌ 3.1 ❌ 5.0 (предварительная версия)❌ 5.0 Preview
❌ Windows 10, версия 1607❌ Windows 10, Version 1607 ❌ 2.1❌ 2.1 ❌ 3.1❌ 3.1 ❌ 5.0 (предварительная версия)❌ 5.0 Preview
❌ Windows 10, версия 1511❌ Windows 10, Version 1511 ❌ 2.1❌ 2.1 ❌ 3.1❌ 3.1 ❌ 5.0 (предварительная версия)❌ 5.0 Preview
❌ Windows 10, версия 1507❌ Windows 10, Version 1507 ❌ 2.1❌ 2.1 ❌ 3.1❌ 3.1 ❌ 5.0 (предварительная версия)❌ 5.0 Preview

Неподдерживаемые выпускиUnsupported releases

Следующие версии .NET Core больше ❌ не поддерживаютсяThe following versions of .NET Core are ❌ no longer supported. (но остаются доступными для скачивания):The downloads for these still remain published:

  • 3.03.0
  • 2.22.2
  • 2.02.0

Сведения о среде выполненияRuntime information

Среда выполнения используется для запуска приложений, созданных с помощью .NET Core.The runtime is used to run apps created with .NET Core. При публикации приложения автор может включить среду выполнения в его состав.When an app author publishes an app, they can include the runtime with their app. В противном случае устанавливать среду выполнения будет пользователь.If they don't include the runtime, it's up to the user to install the runtime.

В Windows можно установить три различные версии среды выполнения:There are three different runtimes you can install on Windows:

Среда выполнения ASP.NET CoreASP.NET Core runtime
Используется для запуска приложений ASP.NET Core.Runs ASP.NET Core apps. Включает среду выполнения .NET Core.Includes the .NET Core runtime.

Среда выполнения для классических приложенийDesktop runtime
Используется для запуска классических приложений .NET Core WPF и .NET Core Windows Forms для Windows.Runs .NET Core WPF and .NET Core Windows Forms desktop apps for Windows. Включает среду выполнения .NET Core.Includes the .NET Core runtime.

Среда выполнения .NET Core.NET Core runtime
Простейшая среда выполнения, в состав которой не входят какие-либо другие среды выполнения.This runtime is the simplest runtime and doesn't include any other runtime. Чтобы обеспечить максимальный уровень совместимости с приложениями .NET Core, настоятельно рекомендуется устанавливать среду выполнения ASP.NET Core и среду выполнения для классических приложений.It's highly recommended that you install both ASP.NET Core runtime and Desktop runtime for the best compatibility with .NET Core apps.

Сведения о пакете SDKSDK information

Пакет SDK используется для создания и публикации приложений и библиотек .NET Core.The SDK is used to build and publish .NET Core apps and libraries. При установке пакета SDK также устанавливаются все три среды выполнения: ASP.NET Core, среда выполнения для классических приложений и .NET Core.Installing the SDK includes all three runtimes: ASP.NET Core, Desktop, and .NET Core.

ЗависимостиDependencies

.NET Core 3.1 поддерживает следующие версии Windows:The following Windows versions are supported with .NET Core 3.1:

Примечание

Символ + представляет минимальную версию.A + symbol represents the minimum version.

Операционная системаOS VersionVersion АрхитектурыArchitectures
Клиент WindowsWindows Client 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.17 SP1+, 8.1 x64, x86x64, x86
Клиент Windows 10Windows 10 Client Версия 1609+Version 1609+ x64, x86x64, x86
Windows ServerWindows Server 2012 R2+2012 R2+ x64, x86x64, x86
Nano ServerNano Server Версия 1803+Version 1803+ x64, ARM32x64, ARM32

Дополнительные сведения об операционных системах, дистрибутивах и политике жизненного цикла, поддерживаемых .NET Core 3.1, см. в статье Поддерживаемые .NET Core 3.1 версии ОС.For more information about .NET Core 3.1 supported operating systems, distributions, and lifecycle policy, see .NET Core 3.1 Supported OS Versions.

Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2

При установке пакета SDK для .NET или среды выполнения .NET в следующих версиях Windows требуются дополнительные зависимости:Additional dependencies are required if you're installing the .NET SDK or runtime on the following Windows versions:

  • ❌ Windows 7 с пакетом обновления 1 (SP1)❌ Windows 7 SP1
  • ❌ Windows Vista с пакетом обновления 2 (SP2)❌ Windows Vista SP 2
  • ✔️ Windows 8.1✔️ Windows 8.1
  • ✔️ Windows Server 2008 R2✔️ Windows Server 2008 R2
  • ✔️ Windows Server 2012 R2✔️ Windows Server 2012 R2

Установите следующие компоненты:Install the following:

Приведенные выше требования также применяются, если возникает одна из следующих ошибок:The requirements above are also required if you come across one of the following errors:

Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-crt-runtime-l1-1-0.dll.The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. Попробуйте переустановить программу.Try reinstalling the program to fix this problem.

- или -- or -

Запуск программы невозможен, так как на компьютере отсутствует файл api-ms-win-cor-timezone-l1-1-0.dll.The program can't start because api-ms-win-cor-timezone-l1-1-0.dll is missing from your computer. Попробуйте переустановить программу.Try reinstalling the program to fix this problem.

- или -- or -

Библиотека hostfxr.dll найдена, но при ее загрузке из C:\<path_to_app>\hostfxr.dll произошел сбой.The library hostfxr.dll was found, but loading it from C:\<path_to_app>\hostfxr.dll failed.

Установка с помощью функции автоматизации PowerShellInstall with PowerShell automation

Сценарии dotnet-install используются для автоматизации непрерывной интеграции и ее осуществления без прав администратора.The dotnet-install scripts are used for CI automation and non-admin installs of the runtime. Вы можете скачать сценарий со страницы справочника по сценариям dotnet-install.You can download the script from the dotnet-install script reference page.

Этот сценарий по умолчанию устанавливает последнюю версию с долгосрочной поддержкой (LTS), которой сейчас является .NET Core 3.1.The script defaults to installing the latest long term support (LTS) version, which is .NET Core 3.1. Вы можете выбрать конкретный выпуск, указав параметр Channel.You can choose a specific release by specifying the Channel switch. Включите параметр Runtime для установки среды выполнения.Include the Runtime switch to install a runtime. В противном случае сценарий устанавливает пакет SDK.Otherwise, the script installs the SDK.

dotnet-install.ps1 -Channel 3.1 -Runtime aspnetcore

Установите пакет SDK, опустив параметр -Runtime.Install the SDK by omitting the -Runtime switch. В этом примере для параметра -Channel задано значение Current, которое определяет установку последней поддерживаемой версии.The -Channel switch is set in this example to Current, which installs the latest supported version.

dotnet-install.ps1 -Channel Current

Установка с помощью Visual StudioInstall with Visual Studio

Если вы используете Visual Studio для разработки приложений .NET Core, в следующей таблице указана минимальная требуемая версия Visual Studio на основе целевой версии пакета SDK для .NET Core.If you're using Visual Studio to develop .NET Core apps, the following table describes the minimum required version of Visual Studio based on the target .NET Core SDK version.

Версия пакета SDK для .NET Core.NET Core SDK version Версия Visual StudioVisual Studio version
3.13.1 Visual Studio 2019 версии 16.4 или более поздней.Visual Studio 2019 version 16.4 or higher.
3.03.0 Visual Studio 2019 версии 16.3 или более поздней.Visual Studio 2019 version 16.3 or higher.
2.22.2 Visual Studio 2017 версии 15.9 или более поздней.Visual Studio 2017 version 15.9 or higher.
2.12.1 Visual Studio 2017 версии 15.7 или более поздней.Visual Studio 2017 version 15.7 or higher.

Если среда Visual Studio уже установлена, вы можете проверить ее версию, выполнив указанные ниже действия.If you already have Visual Studio installed, you can check your version with the following steps.

  1. Запустите Visual Studio.Open Visual Studio.
  2. Выберите Справка > О Microsoft Visual Studio.Select Help > About Microsoft Visual Studio.
  3. Считайте номер версии из диалогового окна О программе.Read the version number from the About dialog.

Visual Studio может установить последнюю пакета SDK для .NET Core и среды выполнения .NET Core.Visual Studio can install the latest .NET Core SDK and runtime.

Выбор рабочей нагрузкиSelect a workload

При установке или изменении Visual Studio выберите одну или несколько из следующих рабочих нагрузок в зависимости от типа создаваемого приложения:When installing or modifying Visual Studio, select one or more of the following workloads, depending on the kind of application you're building:

  • рабочая нагрузка Кроссплатформенная разработка .NET Core в разделе Другие наборы инструментов;The .NET Core cross-platform development workload in the Other Toolsets section.
  • рабочая нагрузка ASP.NET и разработка веб-приложений в разделе Веб-разработка и облако;The ASP.NET and web development workload in the Web & Cloud section.
  • рабочая нагрузка Разработка для Azure в разделе Веб-разработка и облако;The Azure development workload in the Web & Cloud section.
  • рабочая нагрузка Разработка классических приложений .NET в разделе Классические и мобильные.The .NET desktop development workload in the Desktop & Mobile section.

Windows Visual Studio 2019 с рабочей нагрузкой .NET CoreWindows Visual Studio 2019 with .NET Core workload

Установка вместе с Visual Studio CodeInstall alongside Visual Studio Code

Visual Studio Code — это эффективный и облегченный редактор исходного кода, который работает на компьютере.Visual Studio Code is a powerful and lightweight source code editor that runs on your desktop. Visual Studio Code доступен для Windows, macOS и Linux.Visual Studio Code is available for Windows, macOS, and Linux.

Хотя Visual Studio Code не поставляется с автоматическим установщиком .NET Core, таким как Visual Studio, добавление поддержки .NET Core не вызывает затруднений.While Visual Studio Code doesn't come with an automated .NET Core installer like Visual Studio does, adding .NET Core support is simple.

  1. Скачайте и установите Visual Studio Code.Download and install Visual Studio Code.
  2. Скачайте и установите пакет SDK для .NET Core.Download and install the .NET Core SDK.
  3. Установите расширение C# из Marketplace для Visual Studio Code.Install the C# extension from the Visual Studio Code marketplace.

Скачивание и установка вручнуюDownload and manually install

В качестве альтернативы установщикам Windows для .NET Core можно скачать и вручную установить пакет SDK или среду выполнения.As an alternative to the Windows installers for .NET Core, you can download and manually install the SDK or runtime. Ручная установка как правило выполняется в рамках тестирования непрерывной интеграции.Manual install is usually performed as part of continuous integration testing. В большинстве случаев разработчикам и пользователям рекомендуется использовать установщик.For a developer or user, it's generally better to use an installer.

Как пакет SDK для .NET Core, так и среду выполнения .NET Core можно установить вручную после скачивания.Both .NET Core SDK and .NET Core Runtime can be manually installed after they've been downloaded. При установке пакета SDK для .NET Core не нужно устанавливать соответствующую среду выполнения.If you install .NET Core SDK, you don't need to install the corresponding runtime. Сначала скачайте двоичный выпуск пакета SDK или среды выполнения с одного из следующих сайтов:First, download a binary release for either the SDK or the runtime from one of the following sites:

Создайте каталог, в который будет выполнено извлечение .NET, например %USERPROFILE%\dotnet.Create a directory to extract .NET to, for example %USERPROFILE%\dotnet. Затем извлеките скачанный ZIP-файл в этот каталог.Then, extract the downloaded zip file into that directory.

По умолчанию команды и приложения .NET Core CLI не будут использовать платформу .NET Core, установленную таким образом. Вам нужно выбрать ее явно.By default, .NET Core CLI commands and apps won't use .NET Core installed in this way and you must explicitly choose to use it. Для этого измените переменные среды, с которыми запускается приложение:To do so, change the environment variables with which an application is started:

set DOTNET_ROOT=%USERPROFILE%\dotnet
set PATH=%USERPROFILE%\dotnet;%PATH%
set DOTNET_MULTILEVEL_LOOKUP=0

Такой подход позволяет установить несколько версий в отдельные расположения, а затем явно выбрать расположение установки, которое должно использовать приложение, запустив приложение с переменными среды, указывающими на это расположение.This approach lets you install multiple versions into separate locations, then explicitly choose which install location an application should use by running the application with environment variables pointing at that location.

Если параметр DOTNET_MULTILEVEL_LOOKUP имеет значение 0, .NET Core игнорирует любые установленные глобально версии .NET Core.When DOTNET_MULTILEVEL_LOOKUP is set to 0, .NET Core ignores any globally installed .NET Core version. Если нужно, чтобы платформа .NET Core учитывала глобальное расположение установки по умолчанию при выборе лучшей платформы для запуска приложения, удалите этот параметр среды.Remove that environment setting to let .NET Core consider the default global install location when selecting the best framework for running the application. По умолчанию обычно используется каталог C:\Program Files\dotnet, в который выполняется установка .NET Core при использовании установщика.The default is typically C:\Program Files\dotnet, which is where the installers install .NET Core.

DockerDocker

Контейнеры обеспечивают простой способ изоляции приложения от остальной части основной системы.Containers provide a lightweight way to isolate your application from the rest of the host system. Контейнеры на одном компьютере совместно использую только ядро, а также используют ресурсы, которые передаются в приложение.Containers on the same machine share just the kernel and use resources given to your application.

.NET Core можно выполнять в контейнере Docker..NET Core can run in a Docker container. Официальные образы Docker для .NET Core публикуются в реестре контейнеров Microsoft (MCR) и доступ к ним можно получить в репозитории Microsoft .NET Core Docker Hub.Official .NET Core Docker images are published to the Microsoft Container Registry (MCR) and are discoverable at the Microsoft .NET Core Docker Hub repository. Каждый репозиторий содержит рабочие образы для разных сочетаний .NET (пакета SDK или среды выполнения) и операционной системы.Each repository contains images for different combinations of the .NET (SDK or Runtime) and OS that you can use.

Корпорация Майкрософт предоставляет образы, которые предназначены для конкретных сценариев.Microsoft provides images that are tailored for specific scenarios. Например репозиторий ASP.NET Core содержит образы, которые предназначены для запуска приложений ASP.NET Core в рабочей среде.For example, the ASP.NET Core repository provides images that are built for running ASP.NET Core apps in production.

Дополнительные сведения об использовании .NET Core в контейнере Docker см. в статьях Введение в .NET и Docker и Примеры.For more information about using .NET Core in a Docker container, see Introduction to .NET and Docker and Samples.

Следующие шагиNext steps