Поделиться через


Установка .NET в Windows

Существует множество различных способов установки .NET в Windows. Эта статья поможет понять разницу между пакетом SDK и средой выполнения, какой средой выполнения следует установить, и методом, который следует использовать для установки .NET.

.NET состоит из среды выполнения и пакета SDK. Среда выполнения запускает приложения .NET, а пакет SDK используется для создания приложений.

В отличие от платформа .NET Framework, .NET не устанавливается и привязана к вашей версии Windows. В Windows можно установить только одну версию платформа .NET Framework. .NET можно установить в любом месте компьютера, а некоторые приложения могут включать собственную копию .NET.

По умолчанию .NET устанавливается в каталог Program Files\dotnet на компьютере, если метод установки не выбирает другой каталог.

Выбор правильной среды выполнения

Существует три разных среды выполнения для Windows, которые позволяют запускать различные типы приложений. Пакет SDK включает все три среды выполнения. Если вы устанавливаете определенную среду выполнения, она может включать другие среды выполнения. В следующей таблице описывается, какая среда выполнения включена в определенный установщик .NET:

Включает среду выполнения .NET Включает среду выполнения рабочего стола .NET Включает ASP.NET базовую среду выполнения
Среда выполнения .NET Да No No
Среда выполнения рабочего стола .NET Да Да Нет
ASP.NET базовая среда выполнения No No Да
Пакет SDK для .NET Да Да Да

Чтобы обеспечить запуск всех приложений .NET в Windows, установите как среду выполнения ASP.NET Core, так и среду выполнения .NET Desktop. Среда выполнения ASP.NET Core запускает любые веб-приложения, а среда выполнения рабочего стола .NET запускает любое классическое приложение, например приложение Windows Presentation Foundation (WPF) или Windows Forms (WinForms).

Выбор способа установки .NET

Существуют различные способы установки .NET, а некоторые продукты, такие как Visual Studio, могут управлять собственной версией .NET. При установке .NET с помощью программного обеспечения, которое управляет собственной версией .NET, необходимо также установить среду выполнения .NET отдельно, чтобы можно было запускать приложения .NET.

Если вы не уверены, какой метод следует выбрать после просмотра списков в следующих разделах, вы, вероятно, хотите использовать установщик .NET.

Разработчикам

  • Visual Studio

    Используйте Visual Studio для установки .NET, если вы хотите разрабатывать приложения .NET с помощью Visual Studio. Visual Studio управляет собственной копией .NET. Этот метод устанавливает шаблоны SDK, среды выполнения и Visual Studio.

  • Visual Studio Code — комплект средств разработки на C#

    Установите расширение комплекта разработки C# для Visual Studio Code для разработки приложений .NET. Этот метод использует установленные ранее пакеты SDK.

Пользователи и разработчики

  • Установщик .NET

    Установите .NET с пакетом установщика Windows, который является исполняемым файлом, который выполняется. Этот метод может установить пакет SDK и среду выполнения. Установка выполняется на уровне системы.

  • Диспетчер пакетов Windows (WinGet)

    Используйте WinGet для установки .NET, если вы хотите управлять .NET через командную строку. Этот метод может установить пакет SDK и среду выполнения. Установка выполняется на уровне системы.

  • PowerShell

    Скрипт PowerShell, который может автоматизировать установку пакета SDK или среды выполнения. Вы можете выбрать версию .NET для установки.

Поддерживаемые версии

В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Windows, в которых они поддерживаются. Эти версии поддерживаются до окончания поддержки версии .NET, либо до окончания жизненного цикла версии Windows.

Совет

Как напоминание, эта таблица относится к современной .NET (в отличие от платформа .NET Framework). Сведения об установке платформа .NET Framework см. в руководстве по установке платформа .NET Framework.

Даты окончания жизненного цикла версий Windows 10 зависят от выпуска. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций. Дополнительные сведения см. в справочных материалах по жизненному циклу поддержки Windows.

Операционная система .NET 8 (архитектура) .NET 6 (архитектура)
Windows 11 ✔️ x64, x86, Arm64 ✔️ x64, Arm64
Windows Server 2022 ✔️ x64, x86 ✔️ x64, x86
Windows 10 версии 1607 или более поздней ✔️ x64, x86, Arm64 ✔️ x64, x86, Arm64
Windows 8.1 ✔️ x64, x86
Windows 7 с пакетом обновления 1 (SP1), ESU ✔️ x64, x86
Windows Server 2022
Windows Server 2019
Windows Server, версия 1903 или более поздняя
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ x64, x86 ✔️ x64, x86
Windows Server Core 2012 (и R2) ✔️ x64, x86 ✔️ x64, x86
Nano Server, версия 1809 и выше ✔️ x64 ✔️ x64
Nano Server, версия 1803

Совет

Символ + представляет минимальную версию.

Windows 7 / 8.1 / Server 2012

Хотя Windows 2012 по-прежнему поддерживается с последней версией .NET, .NET 6 была последней версией для поддержки Windows 7 и Windows 8.1. Все три из этих версий Windows требуют установки дополнительных зависимостей:

Операционная система Необходимые компоненты
Windows 7 с пакетом обновления 1 (SP1), ESU – Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный
– Обновление KB3063858, 64-разрядное / 32-разрядное
- Центр корневой сертификации Microsoft 2011 (только удаленный установщик .NET Core 2.1)
Windows 8.1 Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный
Windows Server 2012 Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный
Windows Server 2012 R2 Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный

Приведенные выше требования также применяются, если возникает ошибка, связанная с любой из следующих библиотек DLL:

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Компьютеры Windows на базе ARM

В следующих разделах описываются аспекты, которые следует учитывать при установке .NET на компьютере Windows на базе ARM.

Поддерживаемые возможности

В следующей таблице описаны версии .NET, поддерживаемые на компьютерах Windows на базе ARM:

Версия .NET SDK Параметры выполнения Конфликт путей Поддерживается
8 Да Да Нет ✔️
8 Да Да Нет ✔️
6 Да Да Нет ✔️
6 Да Да Нет ✔️

Версии пакета SDK для .NET 86, x64 и Arm64 существуют независимо друг от друга. Если выпущена новая версия, необходимо обновить каждую установку архитектуры.

Различия в путях

На компьютере с Windows на основе Arm все версии Arm64 .NET устанавливаются в обычную папку C:\Program Files\dotnet\ . Однако версия пакета SDK для .NET установлена в папку C:\Program Files\dotnet\x64\.

Конфликты путей

Пакет SDK для x64 .NET устанавливается в собственный каталог, как описано в предыдущем разделе. Это позволяет существовать на одном компьютере версии пакета SDK для .NET для Arm64 и x64. Однако любой пакет SDK x64 старше 6.0 не поддерживается и устанавливается в то же расположение, что и версия Arm64 , папка C:\Program Files\dotnet\ . Если вы хотите установить неподдерживаемый пакет SDK x64, сначала необходимо удалить версию Arm64. Обратное также верно. Чтобы установить версию Arm64, необходимо удалить неподдерживаемый пакет SDK x64.

Переменные пути

Переменные среды, добавляющие .NET в системный PATH путь, например переменную, могут быть изменены, если установлены версии пакета SDK для .NET для x64 и Arm64. Кроме того, некоторые средства полагаются на DOTNET_ROOT переменную среды, которая также должна быть обновлена, чтобы указать соответствующую папку установки пакета SDK для .NET.

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

Visual Studio устанавливает собственную копию .NET отдельно от других копий .NET. Разные версии Visual Studio поддерживают разные версии .NET. Последняя версия Visual Studio всегда поддерживает последнюю версию .NET.

Visual Studio Installer устанавливает и настраивает Visual Studio. Некоторые рабочие нагрузки Visual Studio включают .NET, такие как ASP.NET и веб-разработка и разработка многоплатформенного пользовательского интерфейса приложений .NET. Определенные версии .NET можно установить на вкладке "Отдельные компоненты ".

Документация по Visual Studio содержит инструкции по следующим инструкциям.

Снимок экрана, на котором показан установщик Visual Studio с рабочей нагрузкой .NET Desktop, выделенной красным полем.

Версии .NET и Visual Studio

Если вы используете Visual Studio для разработки приложений .NET, в следующей таблице указана минимальная требуемая версия Visual Studio на основе целевой версии пакета SDK для .NET.

Версия пакета SDK для .NET Версия Visual Studio
8 Visual Studio 2022 версии 17.8 или более поздней.
7 Visual Studio 2022 версии 17.4 или выше.
6 Visual Studio 2022 версии 17.0 или более поздней
5 Visual Studio 2019 версии 16.8 или более поздней.
3.1 Visual Studio 2019 версии 16.4 или более поздней.
3.0 Visual Studio 2019 версии 16.3 или более поздней.
2,2 Visual Studio 2017 версии 15.9 или более поздней.
2.1 Visual Studio 2017 версии 15.7 или более поздней.

Если среда Visual Studio уже установлена, вы можете проверить ее версию, выполнив указанные ниже действия.

  1. Откройте Visual Studio.
  2. Выберите Справка>О Microsoft Visual Studio.
  3. Считайте номер версии из диалогового окна О программе.

Дополнительные сведения см. в статье о пакете SDK для .NET, MSBuild и visual Studio.

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

Visual Studio Code использует версии .NET, уже установленные в системе. Установите .NET с помощью установщика .NET или Диспетчер пакетов Windows. Visual Studio устанавливает собственную копию .NET, которая не может использоваться Visual Studio Code.

Приложения .NET создаются в Visual Studio Code с расширением комплекта разработки C#.

  1. Сначала установите пакет SDK для .NET, выполнив действия, описанные в одном из других разделов, за исключением раздела в Visual Studio.

  2. Затем установите Visual Studio Code, если вы еще не сделали этого. Дополнительные сведения см. в Visual Studio Code в Windows.

  3. Наконец, установите расширение комплекта разработки на C#. Дополнительные сведения см. в статье "Начало работы с C#" в VS Code.

Установщик .NET

Страница загрузки для .NET содержит исполняемые файлы установщика Windows.

  1. Откройте браузер и перейдите по ссылке https://dotnet.microsoft.com/download/dotnet.

  2. Выберите версию .NET, которую вы хотите скачать, например 8.0.

  3. Найдите пакет SDK или поле среды выполнения, содержащее ссылки для скачивания .NET.

  4. В столбце установщиков найдите строку Windows и выберите ссылку для архитектуры ЦП. Если вы не уверены, выберите x64 , так как это наиболее распространено.

    Браузер автоматически загружает пакет MSI.

    Совет

    На следующем рисунке показан пакет SDK, но вы также можете скачать среду выполнения.

    Изображение страницы загрузки .NET с выделенной ссылкой на скачивание пакета SDK.

  5. Откройте проводник Windows и перейдите к месту скачивания файла, скорее всего, папку downloads .

  6. Дважды щелкните файл, чтобы установить .NET.

    Откроется диалоговое окно установщика Windows.

    Снимок экрана: окно установщика MSI .NET.

  7. Выберите " Установить " и следуйте инструкциям по установке .NET.

Сведения об использовании .NET CLI см. в обзоре .NET CLI.

Параметры командной строки

Если вы хотите автоматически установить .NET, например в рабочей среде или поддерживать непрерывную интеграцию, используйте следующие параметры установщика Windows:

  • /install
    Устанавливает .NET.

  • /quiet
    Предотвращает отображение любого пользовательского интерфейса и запросов.

  • /norestart
    Подавляет попытки перезапуска.

dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart

Дополнительные сведения смотрите в статье Параметры командной строки стандартного установщика.

Совет

Установщик возвращает код выхода 0 для успешного выполнения и код выхода 3010, чтобы указать, что требуется перезапуск. Любое другое значение, скорее всего, является кодом ошибки.

Установка с помощью Диспетчер пакетов Windows (WinGet)

Вы можете установить и управлять .NET через службу Диспетчер пакетов Windows с помощью winget.exe средства. Дополнительные сведения об установке и использовании WinGet см. в статье "Использование средства winget для установки приложений и управления ими".

Если вы устанавливаете .NET на уровне системы, установите с правами администратора.

Пакеты WinGet для .NET:

  • Microsoft.DotNet.Runtime.8—.NET Runtime 8.0.
  • Microsoft.DotNet.AspNetCore.8— ASP.NET Core Runtime 8.0
  • Microsoft.DotNet.DesktopRuntime.8—.NET Desktop Runtime 8.0
  • Microsoft.DotNet.SDK.8— пакет SDK для .NET 8.0

Установка пакета SDK

Если установить пакет SDK, вам не нужно устанавливать соответствующую среду выполнения.

  1. Установите WinGet.

  2. Откройте терминал, например PowerShell или cmd.exe.

  3. winget install Выполните команду и передайте имя пакета SDK:

    winget install Microsoft.DotNet.SDK.8
    

Сведения об использовании .NET CLI см. в обзоре .NET CLI.

Установка среды выполнения

Существуют различные среды выполнения, которые можно установить. Ознакомьтесь с разделом "Выбор правильной среды выполнения ", чтобы понять, что входит в состав каждой среды выполнения.

  1. Установите WinGet.

  2. Откройте терминал, например PowerShell или командную строку.

  3. winget install Выполните команду и передайте имя пакета SDK:

    winget install Microsoft.DotNet.DesktopRuntime.8
    winget install Microsoft.DotNet.AspNetCore.8
    

Сведения об использовании .NET CLI см. в обзоре .NET CLI.

Поиск версий

winget search Используйте команду для поиска различных версий пакета, который требуется установить. Например, следующая команда выполняет поиск всех пакетов SDK для .NET, доступных через WinGet:

winget search Microsoft.DotNet.SDK

Результаты поиска печатаются в таблице с каждым идентификатором пакета.

Name                           Id                           Version                    Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Preview Microsoft.DotNet.SDK.Preview 9.0.100-preview.3.24204.13 winget
Microsoft .NET SDK 8.0         Microsoft.DotNet.SDK.8       8.0.300                    winget
Microsoft .NET SDK 7.0         Microsoft.DotNet.SDK.7       7.0.409                    winget
Microsoft .NET SDK 6.0         Microsoft.DotNet.SDK.6       6.0.422                    winget
Microsoft .NET SDK 5.0         Microsoft.DotNet.SDK.5       5.0.408                    winget
Microsoft .NET SDK 3.1         Microsoft.DotNet.SDK.3_1     3.1.426                    winget

Установка предварительных версий

Вы можете установить предварительные версии, заменив номер версии, например 8словом Preview. В следующем примере устанавливается предварительная версия среды выполнения рабочего стола .NET:

winget install Microsoft.DotNet.DesktopRuntime.Preview

Установка с помощью PowerShell

Установка .NET с помощью скрипта PowerShell рекомендуется для непрерывной dotnet-install интеграции и неадминистрационных установок. Если вы устанавливаете .NET для нормального использования в системе, используйте установщик .NET или методы установки Диспетчер пакетов Windows.

Сценарий по умолчанию используется для установки последней долгосрочной версии поддержки (LTS), которая является .NET 8. Вы можете выбрать конкретный выпуск, указав параметр -Channel. Включите параметр -Runtime для установки среды выполнения. В противном случае сценарий устанавливает пакет SDK. Скрипт доступен https://dot.net/v1/dotnet-install.ps1 в GitHub, а исходный код размещен на сайте GitHub.

Дополнительные сведения о скрипте см . в справочнике по скрипту dotnet-install.

Установка среды выполнения

Среда выполнения .NET устанавливается путем предоставления коммутатора -Runtime .

  1. Скачивание скрипта установки из https://dot.net/v1/dotnet-install.ps1

  2. Откройте PowerShell и перейдите в папку, содержащую скрипт.

  3. Выполните следующие команды, чтобы установить среду выполнения desktop и ASP.NET Core для обеспечения максимальной совместимости:

    dotnet-install.ps1 -Runtime windowsdesktop
    dotnet-install.ps1 -Runtime aspnetcore
    

Сведения об использовании .NET CLI см. в обзоре .NET CLI.

Установка пакета SDK

Если установить пакет SDK, вам не нужно устанавливать среды выполнения.

  1. Скачивание скрипта установки из https://dot.net/v1/dotnet-install.ps1

  2. Откройте PowerShell и перейдите в папку, содержащую скрипт.

  3. Выполните следующую команду, чтобы установить пакет SDK для .NET.

    dotnet-install.ps1
    

    Примечание.

    Пакет SDK устанавливается путем пропуска -Runtime переключателя.

Сведения об использовании .NET CLI см. в обзоре .NET CLI.

Проверка

После скачивания установщика убедитесь, что файл не был изменен или поврежден. Вы можете проверить контрольную сумму на компьютере, а затем сравнить ее с тем, что было сообщено на веб-сайте скачивания.

При скачивании установщика или двоичного файла с официальной страницы загрузки отображается контрольная сумма для файла. Нажмите кнопку "Копировать", чтобы скопировать значение контрольной суммы в буфер обмена.

Страница загрузки .NET с контрольной суммой

Вы можете использовать PowerShell или командную строку для проверки контрольной суммы загруженного файла. Например, следующая команда сообщает контрольную сумму файла dotnet-sdk-8.0.100-win-x64.exe :

> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e

Сравните контрольную сумму со значением, предоставленным сайтом скачивания.

Использование PowerShell и файла контрольной суммы для проверки

Заметки о выпуске .NET содержат ссылку на файл контрольной суммы, который можно использовать для проверки скачаированного файла. Ниже описано, как скачать файл контрольной суммы и проверить двоичный файл установки .NET:

  1. Страница заметок о выпуске для .NET 8 на сайте GitHub https://github.com/dotnet/core/tree/main/release-notes/8.0 содержит раздел с именем "Выпуски". Таблица в этом разделе ссылается на файлы загрузки и контрольные суммы для каждого выпуска .NET 8:

    Таблица версий заметок о выпуске github для .NET

  2. Выберите ссылку для скачаемой версии .NET. Предыдущий раздел использовал пакет SDK для .NET 8.0.100, который находится в выпуске .NET 8.0.0.

    Совет

    Если вы не уверены, какой выпуск .NET содержит файл контрольной суммы, изучите ссылки, пока не найдете его.

  3. На странице выпуска можно увидеть версию пакета SDK для .NET и среды выполнения .NET, а также ссылку на файл контрольной суммы:

    Таблица загрузки с контрольными суммами для .NET

  4. Скопируйте ссылку на файл контрольной суммы.

  5. Используйте следующий скрипт, но замените ссылку, чтобы скачать соответствующий файл контрольной суммы:

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
    
  6. С помощью файла контрольной суммы и файла выпуска .NET, скачаемого в тот же каталог, выполните поиск в файле контрольной суммы для скачивания .NET:

    При прохождении проверки отображается значение True :

    > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*"
    True
    

    Если отображается значение False , скачанный файл недействителен и не должен использоваться.

Устранение неполадок

После установки пакета SDK для .NET могут возникнуть проблемы, связанные с выполнением команд .NET CLI. В этом разделе собираются распространенные проблемы и предоставляются решения.

Пакет SDK для .NET не найден

Скорее всего, вы установили версии x86 (32-разрядная версия) и x64 (64-разрядная версия пакета SDK для .NET). Это приводит к конфликту, так как при выполнении dotnet команды она разрешается в версию x86, когда она должна разрешаться в версию x64. Эта проблема устранена путем настройки переменной %PATH% , чтобы сначала устранить версию x64.

  1. Убедитесь, что установлены обе версии, выполнив where.exe dotnet команду. Если это сделать, вы увидите запись для папок Program Files\ и Program Files (x86)\ . Если папка Program Files (x86)\ является первой, как показано в следующем примере, это неправильно, и вы должны продолжить переход к следующему шагу.

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe
    C:\Program Files\dotnet\dotnet.exe
    

    Если это правильно, и program Files\ первый, у вас нет проблемы, которую обсуждает этот раздел, и вы должны создать проблему с запросом справки .NET на GitHub

  2. Нажмите кнопку Windows и введите "Изменить системные переменные среды" в поиск. Выберите "Изменить системные переменные среды".

    Меню

  3. Откроется окно "Свойства системы" на вкладке "Дополнительно". Выберите переменные среды.

    Откроется панель свойств системы Windows.

  4. В окне "Переменные среды" в группе системных переменных выберите строку Path* и нажмите кнопку "Изменить".

    Окно переменных среды с пользовательскими и системными переменными.

  5. Используйте кнопки перемещения вверх и вниз, чтобы переместить запись C:\Program Files\dotnet\ выше C:\Program Files (x86)\dotnet\.

    Список переменных среды для системы.

Создание приложений медленнее, чем ожидалось

Убедитесь, что smart App Control, компонент Windows, отключен. Интеллектуальный элемент управления приложениями не рекомендуется включать на компьютерах, используемых для разработки. Любой параметр, отличный от "off", может отрицательно повлиять на производительность пакета SDK.

hostfxr.dll / api-ms-win-crt-runtime-l1-1-0.dll / api-ms-win-cor-timezone-l1-1-0.dll отсутствует

Установите распространяемый компонент Microsoft Visual C++ 2015-2019 (64-разрядная или 32-разрядная версия).