Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, какие версии .NET поддерживаются в Windows, как установить .NET, а также о различиях между пакетом SDK и средой выполнения.
В отличие от .NET Framework, .NET не привязаны к вашей версии Windows. На Windows можно установить только одну версию .NET Framework. Но .NET является автономным и может быть установлен в любом месте на компьютере. Некоторые приложения могут включать собственную копию .NET.
По умолчанию .NET устанавливается в каталог Program Files\dotnet, если метод установки не выбирает другой каталог.
Это важно
Если вы устанавливаете .NET по всей системе, установите с правами администратора.
.NET состоит из среды выполнения и пакета SDK. Среда выполнения запускает .NET приложения, а пакет SDK используется для создания приложений.
Выбор правильной среды выполнения
Существует три разных среды выполнения для Windows, что позволяет запускать различные типы приложений. Пакет SDK включает все три среды выполнения, а установщик среды выполнения может включать дополнительную среду выполнения. В следующей таблице описывается, какая среда выполнения включена в определенный установщик .NET:
| Установщик | Включает среду выполнения .NET | Включает среду выполнения .NET Desktop Runtime | Включает среду выполнения ASP.NET Core |
|---|---|---|---|
| .NET Runtime | Да | Нет | Нет |
| .NET среда выполнения для настольных приложений | Да | Да | Нет |
| ASP.NET Core Runtime | Нет | Нет | Да |
| .NET SDK | Да | Да | Да |
Чтобы обеспечить запуск всех приложений .NET в Windows, установите как среду выполнения ASP.NET Core, так и среду выполнения .NET desktop. Среда выполнения ASP.NET Core выполняет веб-приложения, а среда выполнения рабочего стола .NET запускает классические приложения, такие как Windows Presentation Foundation (WPF) или приложение Windows Forms.
Выбор способа установки .NET
Существуют различные способы установки .NET, а некоторые продукты могут управлять собственной версией .NET. Если вы устанавливаете .NET с помощью программного обеспечения, которое управляет собственной версией .NET, она может не быть включена на уровне системы. Убедитесь, что вы понимаете последствия установки .NET с помощью другого программного обеспечения.
Если вы не уверены, какой метод следует выбрать после просмотра списков в следующих разделах, вы, вероятно, хотите использовать установщик .NET.
Разработчикам
-
Используйте Visual Studio для установки .NET при разработке приложений .NET с помощью Visual Studio. Visual Studio управляет собственной копией .NET. Этот метод устанавливает шаблоны SDK, среды выполнения и Visual Studio.
Visual Studio Code — набор средств разработки на C#
Установите расширение C# Dev Kit для Visual Studio Code, чтобы разрабатывать .NET приложения. Расширение может использовать пакет SDK, который уже установлен или установить его для вас.
Пользователи и разработчики
установщик .NET
Установите .NET с помощью пакета установщика Windows, являющегося исполняемым файлом. Этот метод может установить пакет SDK и среду выполнения. Установка выполняется на уровне системы.
Windows Package Manager (WinGet)
Используйте WinGet, чтобы установить .NET, если вы хотите управлять .NET с помощью командной строки. Этот метод может установить пакет SDK и среду выполнения. Установка выполняется на уровне системы.
-
Скрипт PowerShell, который может автоматизировать установку пакета SDK или среды выполнения. Вы можете выбрать версию .NET для установки.
Поддерживаемые версии
В следующей таблице приведен список поддерживаемых в настоящее время выпусков .NET и версий Windows, на которые они поддерживаются. Эти версии остаются поддерживаемыми до тех пор, пока версия .NET достигнет конца поддержки или версии Windows достигнет конца жизни.
Совет
Напоминаем, эта таблица относится к современному .NET (в отличие от .NET Framework). Сведения об установке .NET Framework см. в руководстве по установке .NET Framework.
Windows 10 даты окончания обслуживания сегментируются по выпускам. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций. Дополнительные сведения см. на странице фактов жизненного цикла Windows.
| Операционная система | .NET 10 (архитектура) | .NET 9 (архитектура) | .NET 8 (архитектура) |
|---|---|---|---|
| Windows 11 (24H2, 23H2, 22H2 Ent/Edu) | ✔️ x64, Arm64 | ✔️ x64, Arm64 | ✔️ x64, Arm64 |
| Windows 10 (22H2) | ✔️ x64, Arm64 | ✔️ x64, Arm64 | ✔️ x64, Arm64 |
| Windows Server 2025 г. Windows Server 2022 Windows Server 2019 Windows Server версии 1903 или более поздней Windows Server 2016 Windows Server 2012 R2 Windows Server 2012 |
✔️ x64, x86 | ✔️ x64, x86 | ✔️ x64, x86 |
| Windows Server Core 2012 (и R2) | ✔️ x64, x86 | ✔️ x64, x86 | ✔️ x64, x86 |
| Nano Server (2025, 2022, 2019) | ✔️ x64 | ✔️ x64 | ✔️ x64 |
| Windows 8.1 | ❌ | ❌ | ❌ |
| Windows 7 SP1 ESU | ❌ | ❌ | ❌ |
Совет
Символ + представляет минимальную версию.
Windows 7 / 8.1 / Server 2012
Версия .NET больше не поддерживается в Windows 7 и Windows 8.1. Последние поддерживаемые выпуски были .NET 6 и поддержка закончилась 12 ноября 2024 года.
Windows Server 2012 по-прежнему поддерживается любой версией .NET, которая по-прежнему поддерживается.
Все три из этих версий Windows требуют установки дополнительных зависимостей:
| Операционная система | Требования |
|---|---|
| Windows 7 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 поддерживается на компьютерах на основе Arm Windows. В следующих разделах описаны действия, которые следует учитывать при установке .NET.
Различия в путях
На компьютере с Windows Arm все версии Arm64 .NET устанавливаются в обычную папку C:\Program Files\dotnet\. Однако x64 версии пакета SDK .NET устанавливается в папку C:\Program Files\dotnet\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 Установщик устанавливает и настраивает Visual Studio. Некоторые рабочие нагрузки Visual Studio включают .NET, такие как ASP.NET и веб-разработка и .NET разработка пользовательского интерфейса многоплатформенных приложений. Определенные версии .NET можно установить на вкладке Individual Components.
В документации по Visual Studio содержатся инструкции о том, как:
.NET версии и Visual Studio
Если вы используете Visual Studio для разработки приложений .NET, в следующей таблице описывается минимальная требуемая версия Visual Studio на основе целевой версии пакета SDK .NET.
| версия пакета SDK .NET | версия Visual Studio |
|---|---|
| 10 | Visual Studio 2026 версии 18.0 или более поздней. |
| 9 | Visual Studio 2022 версии 17.12 или выше. |
| 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, можно проверить версию, выполнив следующие действия.
- Откройте Visual Studio.
- Выберите Help>About Microsoft Visual Studio.
- Считайте номер версии из диалогового окна О программе.
Для получения дополнительной информации см. статью .NET SDK, MSBuild и версии Visual Studio.
Установка с помощью Visual Studio Code
Visual Studio Code — это мощный и упрощенный редактор исходного кода, который работает на рабочем столе. Visual Studio Code может использовать SDK, уже установленный на вашей системе.
Это важно
Если вы устанавливаете .NET на уровне всей системы, установите его с административными правами.
Этот файл конфигурации WinGet устанавливает последний пакет SDK .NET, Visual Studio Code и C# DevKit. Если у вас уже есть один из них, WinGet пропустит этот шаг.
- Скачайте файл и дважды щелкните его, чтобы запустить его.
- Прочитайте лицензионное соглашение, введите и, и выберите ввод при появлении запроса на принятие.
- Если на панели задач появится мигающий запрос контроля учетных записей пользователей (UAC), разрешите установку продолжить.
Кроме того, расширение C# Dev Kit установит .NET, если он еще не установлен.
Инструкции по установке .NET через Visual Studio Code см. в разделе Getting Started with C# в VS Code.
установщик .NET
Страница download для .NET предоставляет исполняемые файлы установщика Windows.
Это важно
Если вы устанавливаете .NET на всю систему, выполните установку с правами администратора.
Откройте веб-браузер и перейдите к https://dotnethttps://dotnet.microsoft.com/download/dotnet.
Выберите версию .NET, которую вы хотите скачать, например 10.0.
Найдите раздел SDK или среды выполнения, содержащий ссылки для загрузки .NET.
В столбце Installers найдите строку Windows и выберите ссылку для архитектуры ЦП. Если вы не уверены, выберите x64 , так как это наиболее распространено.
Браузер должен автоматически скачать установщик.
Совет
На следующем рисунке показан пакет SDK, но вы также можете скачать среду выполнения.
Откройте Проводник Windows и перейдите в место, куда был загружен файл, скорее всего, в папку Downloads.
Дважды щелкните файл, чтобы установить .NET.
Откроется диалоговое окно установщика Windows.
Выберите Install и следуйте инструкциям по установке .NET.
Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.
Параметры командной строки
/? Используйте параметр для отображения списка параметров.
Если вы хотите установить .NET автоматически, например в рабочей среде или для поддержки непрерывной интеграции, используйте следующие параметры:
/install
Устанавливает .NET./quiet
Предотвращает отображение любого пользовательского интерфейса и запросов./norestart
Подавляет попытки перезапуска.
dotnet-sdk-9.0.100-win-x64.exe /install /quiet /norestart
Если вы уже установили .NET, используйте установщик .NET для управления установкой. Вместо /installиспользуйте один из следующих вариантов:
/uninstall
Удалите эту версию .NET./repair
Проверьте, повреждены ли ключевые файлы или компоненты установки, и восстановите их.
Совет
Установщик возвращает код выхода 0 для успешного выполнения и код выхода 3010, чтобы указать, что требуется перезапуск. Любое другое значение, скорее всего, является кодом ошибки.
Центр обновления Майкрософт
Исполняемые файлы установщика .NET — это независимые продукты, которые можно обслуживать с помощью Центра обновления Майкрософт (MU) на Windows. Mu отличается от Windows Update (WU), который используется для обслуживания компонентов операционной системы, таких как .NET Framework.
Исправления безопасности и другие обновления для поддерживаемых версий .NET предоставляются через Microsoft Update с использованием нескольких каналов распространения. Автоматическое обновление (AU) относится к конечным пользователям и потребителям, а службы обновления Windows Server (WSUS) и каталог Windows Update относятся к ИТ-администраторам.
Исполняемые файлы установщика .NET поддерживают параллельные установки (SxS) между основными и дополнительными выпусками для различных архитектур и компонентов, таких как среда выполнения и пакет SDK. Например, можно установить среду выполнения 6.0.15 (x64) и 6.0.17 (x86). При активации MU он будет предоставлять новейший установщик для обеих установок.
Блокировка обновлений
Хотя большинство пользователей предпочитает держать свои системы в актуальном состоянии, можно заблокировать обновления .NET с помощью разделов реестра, указанных в следующей таблице.
| версия .NET | Раздел реестра | Имя. | Тип | значение |
|---|---|---|---|---|
| Все | HKLM\SOFTWARE\Microsoft\.NET | BlockMU | REG_DWORD | 0x00000001 |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 7 | HKLM\SOFTWARE\Microsoft\.NET\7.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 6 | HKLM\SOFTWARE\Microsoft\.NET\6.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET 5 | HKLM\SOFTWARE\Microsoft\.NET\5.0 | BlockMU | REG_DWORD | 0x00000001 |
| .NET Core 3.1 | HKLM\SOFTWARE\Microsoft\.NET\3.1 | BlockMU | REG_DWORD | 0x00000001 |
| .NET Core 2.1 | HKLM\SOFTWARE\Microsoft\.NET\2.1 | BlockMU | REG_DWORD | 0x00000001 |
Автоматическое обновление для ОС сервера
Обновления для операционных систем сервера поддерживаются службами WSUS и каталогом обновлений Microsoft, но не AU. Серверные операционные системы могут принимать обновления через AU, используя следующие разделы реестра.
| версия .NET | Раздел реестра | Имя. | Тип | значение |
|---|---|---|---|---|
| Все | HKLM\SOFTWARE\Microsoft\.NET | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
| .NET 7 | HKLM\SOFTWARE\Microsoft\.NET\7.0 | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
| .NET 6 | HKLM\SOFTWARE\Microsoft\.NET\6.0 | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
| .NET 5 | HKLM\SOFTWARE\Microsoft\.NET\5.0 | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
| .NET Core 3.1 | HKLM\SOFTWARE\Microsoft\.NET\3.1 | РазрешитьАвтоматическиеОбновленияНаСервернойОС | REG_DWORD | 0x00000001 |
WSUS и классификации обновлений
Службы WSUS можно настроить для предоставления конкретных обновлений на основе их классификации. Обновления для .NET классифицируются как security или критические. Если последнее обновление классифицируется как критическое, старое обновление security может быть предложено при установке более старой версии .NET, заменяемой последним обновлением системы безопасности. Это также относится к использованию автономного CAB (Wsusscan2.cab) для сканирования компьютера.
Примечание.
В некоторых случаях WSUS может сообщить о отсутствующих обновлениях для версии, которая старше установленной версии .NET. Например, представьте, что пользователь устанавливает .NET 6.0.36, последний выпуск .NET 6. Эта версия классифицируется как критическое (небезопасное) обновление. Затем приложение устанавливает старую версию 6.0.33. (Это не редкость, когда приложения включают определенные версии .NET в качестве обязательного условия.) Если администратор настроил WSUS только на предоставление обновлений безопасности, следующая проверка будет сообщать о версии 6.0.35 как отсутствующем обновлении. Компьютеры, настроенные для получения обновлений системы безопасности через AU или WSUS, будут предлагаться 6.0.35, даже если установлена версия 6.0.36. Причиной этого является то, что 6.0.35 заменяет 6.0.33 и является последним обновлением системы безопасности .
Выбор момента удаления предыдущих версий
Исполняемые файлы установщика всегда устанавливают новое содержимое перед удалением предыдущей установки. Приложения, работающие, могут быть прерваны или завершаются сбоем при удалении старых сред выполнения. Чтобы свести к минимуму влияние обновления .NET, можно указать, когда предыдущую установку .NET следует удалить с помощью раздела реестра.
| версия .NET | Раздел реестра | Имя. | Тип | значение |
|---|---|---|---|---|
| Все | HKLM\SOFTWARE\Microsoft\.NET | УдалитьПредыдущуюВерсию | REG_SZ |
always, never или nextSession |
| .NET 10 | HKLM\SOFTWARE\Microsoft\.NET\10.0 | УдалитьПредыдущуюВерсию | REG_SZ |
always, never или nextSession |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 | УдалитьПредыдущуюВерсию | REG_SZ |
always, never или nextSession |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 | УдалитьПредыдущуюВерсию | REG_SZ |
always, never или nextSession |
-
neverсохраняет предыдущие установки и требует ручного вмешательства, чтобы удалить предыдущие .NET установки. -
alwaysУдаляет предыдущие установки после установки новой версии. Это поведение по умолчанию в .NET. -
nextSessionОткладывает удаление до следующего сеанса входа для пользователей из группы "Администраторы". - Значения не чувствительны к регистру, а недопустимые значения по умолчанию устанавливаются в
always.
При отсрочке удаления установщик записывает команду в раздел реестра RunOnce для удаления предыдущей версии. Команда выполняется только в том случае, если пользователь в группе "Администраторы" входит на компьютер.
Примечание.
Эта функция доступна только с .NET 8 (8.0.11). Он применяется только к автономным исполняемым файлам установщика и влияет на дистрибутивы, такие как WinGet, которые используют их.
Установка с помощью Windows Package Manager (WinGet)
Вы можете установить и управлять .NET через службу Windows Package Manager с помощью средства winget.exe. Дополнительные сведения об установке и использовании WinGet см. в статье "Использование средства winget для установки приложений и управления ими".
Это важно
Если вы устанавливаете .NET по всей системе, установите с правами администратора.
Пакеты WinGet .NET:
-
Microsoft.DotNet.Runtime.10— среда выполнения .NET 10.0 -
Microsoft.DotNet.AspNetCore.10— среда выполнения ASP.NET Core 10.0 -
Microsoft.DotNet.DesktopRuntime.10— среда выполнения рабочего стола .NET 10.0 -
Microsoft.DotNet.SDK.10— пакет .NET SDK 10.0 -
Microsoft.DotNet.Runtime.9— .NET среда выполнения 9.0 -
Microsoft.DotNet.AspNetCore.9— среда выполнения ASP.NET Core 9.0 -
Microsoft.DotNet.DesktopRuntime.9— среда выполнения рабочего стола .NET 9.0 -
Microsoft.DotNet.SDK.9— пакет SDK .NET 9.0 -
Microsoft.DotNet.Runtime.8— среда выполнения .NET 8.0 -
Microsoft.DotNet.AspNetCore.8— ASP.NET Core Runtime 8.0 -
Microsoft.DotNet.DesktopRuntime.8— среда выполнения рабочего стола .NET 8.0 -
Microsoft.DotNet.SDK.8— .NET SDK 8.0
Установка пакета SDK
Если установить пакет SDK, вам не нужно устанавливать соответствующую среду выполнения.
Откройте терминал, например PowerShell или командную строку.
winget installВыполните команду и передайте имя пакета SDK:winget install Microsoft.DotNet.SDK.10
Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.
Установка среды выполнения
Существуют различные среды выполнения, которые можно установить. Ознакомьтесь с разделом "Выбор правильной среды выполнения ", чтобы понять, что входит в состав каждой среды выполнения.
Откройте терминал, например PowerShell или командную строку.
winget installВыполните команду и передайте имя пакета SDK:winget install Microsoft.DotNet.DesktopRuntime.10 winget install Microsoft.DotNet.AspNetCore.10
Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.
Поиск версий
winget search Используйте команду для поиска различных версий пакета, который требуется установить. Например, следующая команда выполняет поиск всех пакетов SDK .NET, доступных через WinGet:
winget search Microsoft.DotNet.SDK
Результаты поиска печатаются в таблице с каждым идентификатором пакета.
Name Id Version Source
--------------------------------------------------------------------------------------------
Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget
Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget
Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.428 winget
Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.410 winget
Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.415 winget
Microsoft .NET SDK 9.0 Microsoft.DotNet.SDK.9 9.0.306 winget
Microsoft .NET SDK 10.0 Microsoft.DotNet.SDK.10 10.0.100 winget
Установка предварительных версий
Если доступна предварительная версия, замените номер версии в идентификаторе словом Preview. В следующем примере устанавливается предварительный выпуск среды выполнения .NET Desktop:
winget install Microsoft.DotNet.DesktopRuntime.Preview
Установка с помощью PowerShell
Установка .NET с помощью скрипта PowerShell dotnet-install рекомендуется для непрерывной интеграции и неадминиционных установок. Если вы устанавливаете .NET для нормального использования в системе, используйте методы установки .NET Installer или Windows Package Manager.
Сценарий по умолчанию устанавливает последнюю версию с длительной поддержкой (LTS), которая является .NET 10. Вы можете выбрать конкретный выпуск, указав переключатель -Channel. Включите флаг -Runtime, чтобы установить среду выполнения. В противном случае сценарий устанавливает пакет SDK. Скрипт доступен по адресу https://dot.net/v1/dotnet-install.ps1, а исходный код размещен в GitHub.
Чтобы получить дополнительные сведения о скрипте, см. dotnet— справка по установке скрипта.
Установка среды выполнения
Среда выполнения .NET устанавливается путем предоставления коммутатора -Runtime.
Скачивание скрипта установки из https://dot.net/v1/dotnet-install.ps1
Откройте PowerShell и перейдите в папку, содержащую скрипт.
Выполните следующие команды, чтобы установить среду выполнения рабочего стола и среду выполнения ASP.NET Core для обеспечения максимальной совместимости:
dotnet-install.ps1 -Runtime windowsdesktop dotnet-install.ps1 -Runtime aspnetcore
Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.
Установка пакета SDK
Если установить пакет SDK, вам не нужно устанавливать среды выполнения.
Скачивание скрипта установки из https://dot.net/v1/dotnet-install.ps1
Откройте PowerShell и перейдите в папку, содержащую скрипт.
Выполните следующую команду, чтобы установить пакет SDK .NET.
dotnet-install.ps1Примечание.
Пакет SDK устанавливается путем пропуска
-Runtimeпереключателя.
Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.
Проверка
После скачивания установщика или двоичного выпуска убедитесь, что файл не был изменен или поврежден. Вы можете проверить контрольную сумму на компьютере, а затем сравнить ее с тем, что было сообщено на веб-сайте скачивания.
При скачивании файла с официальной страницы скачивания контрольная сумма для файла отображается в текстовом поле. Нажмите кнопку Копировать, чтобы скопировать значение контрольной суммы в буфер обмена.
Вы можете использовать PowerShell или командную строку для проверки контрольной суммы загруженного файла. Например, следующая команда сообщает контрольную сумму файла dotnet-sdk-9.0.306-win-x64.exe:
> certutil -hashfile dotnet-sdk-9.0.306-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-9.0.306-win-x64.exe:
f048ddf80c0aa88e713070e66a0009435ad9a5f444adbde6edf2b17f8da562d494a5c37cbabaf63ee3125fe1d2da735a397de9a38dd6ca638b8dc085adc01d4f
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-9.0.306-win-x64.exe -Algorithm SHA512).Hash
f048ddf80c0aa88e713070e66a0009435ad9a5f444adbde6edf2b17f8da562d494a5c37cbabaf63ee3125fe1d2da735a397de9a38dd6ca638b8dc085adc01d4f
Сравните контрольную сумму со значением, предоставленным сайтом скачивания.
Использование PowerShell и файла контрольной суммы для проверки
Заметки о выпуске .NET содержат ссылку на файл с контрольной суммой, который можно использовать для проверки скачанного файла. Ниже описано, как скачать файл контрольной суммы и валидировать двоичный файл установки .NET.
Страница заметок о выпуске .NET 9 на GitHub в https://github.com/dotnet/core/tree/main/release-notes/9.0 содержит раздел с именем Releases. Таблица в этом разделе ссылается на файлы загрузки и контрольные суммы для каждого выпуска .NET 9. На следующем рисунке показана таблица выпуска .NET 8 в качестве ссылки:
Выберите ссылку для версии .NET, которую вы скачали. В предыдущем разделе используется пакет SDK .NET 9.0.306, который находится в выпуске .NET 9.0.10.
Совет
Если вы не уверены, какой релиз .NET содержит ваш файл контрольной суммы, изучите ссылки, пока не найдете его.
На странице выпуска вы можете увидеть версию среды выполнения .NET и версию пакета SDK для .NET, а также ссылку на файл контрольной суммы. На следующем рисунке показана таблица выпуска .NET 8 в качестве ссылки:
Скопируйте ссылку на файл контрольной суммы.
Используйте следующий скрипт, но замените ссылку, чтобы скачать соответствующий файл контрольной суммы:
Invoke-WebRequest https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt -OutFile 9.0.10-sha.txtС помощью файла контрольной суммы и файла выпуска .NET, скачанных в тот же каталог, выполните поиск по файлу контрольной суммы .NET скачивания:
При прохождении проверки отображается значение True :
> (Get-Content .\9.0.10-sha.txt | Select-String "dotnet-sdk-9.0.306-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-9.0.306-win-x64.exe -Algorithm SHA512).Hash + "*" TrueЕсли отображается False, скачанный файл не является действительным и не должен использоваться.
Устранение неполадок
После установки пакета SDK .NET могут возникнуть проблемы при выполнении команд .NET CLI. В этом разделе собираются распространенные проблемы и предоставляются решения.
- Не найден пакет SDK для .NET
- Создание приложений медленнее, чем ожидалось
-
hostfxr.dll/api-ms-win-crt-runtime-l1-1-0.dll/api-ms-win-cor-timezone-l1-1-0.dllотсутствует
Не найден пакет SDK .NET
Скорее всего, вы установили версии x86 (32-разрядная версия) и x64 (64-разрядная версия) пакета SDK для .NET. Это приводит к конфликту, так как при выполнении dotnet команды она разрешается в версию x86, когда она должна разрешаться в версию x64. Эта проблема устранена путем настройки переменной %PATH% , чтобы сначала устранить версию x64.
Убедитесь, что установлены обе версии, выполнив
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, в списке могут отображаться другие копии dotnet.exe. Настройте их таким образом, чтобы соответствующая dotnet.exe сначала распознавалась.
Если это правильно и Program Files\ является первым, у вас нет проблемы, о которой говорится в этом разделе, и вы должны создать запрос помощи .NET на GitHub.
Нажмите кнопку Windows и введите "Изменить системные переменные среды" в поиск. Выберите "Изменить системные переменные среды".
Откроется окно "Свойства системы" на вкладке "Дополнительно". Выберите переменные среды.
В окне "Переменные среды" в группе системных переменных выберите строку Path* и нажмите кнопку "Изменить".
Используйте кнопки 'Вверх' и 'Вниз', чтобы переместить запись 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-разрядная версия).