Программа при запуске выдаёт сообщение, что требуется .NET Framework 3.5, а в Windows 11 этот компонент по умолчанию отключён — это самая частая причина ошибок с пакетом .NET на новой системе. Вторая типичная ситуация: приложение просит установить .NET Runtime или .NET Desktop Runtime определённой версии, хотя «какой-то .NET» в системе уже есть.
Путаница возникает из-за того, что под именем .NET скрываются два разных семейства: классический .NET Framework (версии до 4.8.1, встроен в Windows) и современный кроссплатформенный .NET (версии 5, 6, 7, 8 и новее, устанавливается отдельно). Они не заменяют друг друга: старой программе может понадобиться Framework 3.5, а новой — .NET 8, и оба пакета спокойно сосуществуют на одном компьютере. Разберём, как определить нужную версию, установить её и исправить типовые ошибки.
Какая версия .NET нужна: Framework или современный .NET
Первый шаг — понять, что именно требует программа. Обычно это видно по тексту ошибки или в системных требованиях приложения:
- 🔹 Упоминание .NET Framework 3.5 — нужен встроенный компонент Windows, который включается через «Компоненты Windows».
- 🔹 Упоминание .NET Framework 4.x — в Windows 11 версия 4.8 уже предустановлена, отдельная установка обычно не требуется.
- 🔹 Требование .NET 6, .NET 7, .NET 8 и новее — нужно скачать отдельный установщик с официального сайта Microsoft.
- 🔹 Ошибка вида «You must install .NET Desktop Runtime» — требуется именно Desktop Runtime, а не базовый Runtime.
Если программа старая (выпущена ориентировочно до середины 2010-х), почти наверняка ей нужен Framework 3.5. Современные приложения чаще просят .NET 6 или 8. Когда в требованиях указано просто «.NET» без уточнений, безопаснее всего посмотреть документацию конкретной программы.
Как проверить, какие версии .NET уже установлены
Прежде чем что-то скачивать, стоит проверить текущее состояние системы. Для современного .NET проще всего выполнить команду в терминале. Откройте Windows Terminal или командную строку и введите:
dotnet --list-runtimes
Команда выведет список установленных рантаймов с версиями. Если в ответ приходит «dotnet не является командой», современный .NET в системе отсутствует. Наличие нужной строки вида Microsoft.NETCore.App 8.x или Microsoft.WindowsDesktop.App 8.x означает, что соответствующий рантайм уже стоит.
Версию .NET Framework 4.x проверяют через реестр: откройте regedit и перейдите в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Параметр Release содержит числовой код версии — его расшифровка есть в официальной документации Microsoft. Учтите, что правка реестра не требуется: нужно только посмотреть значение.
Включение .NET Framework 3.5 в Windows 11
Компонент .NET Framework 3.5 присутствует в Windows 11, но выключен. Включить его можно без скачивания сторонних файлов:
- ⚙️ Нажмите
Win + R, введитеoptionalfeaturesи нажмите Enter. - 📦 В списке найдите пункт .NET Framework 3.5 (включает .NET 2.0 и 3.0) и поставьте галочку.
- 🌐 Подтвердите — система скачает файлы через Центр обновления Windows, поэтому нужен интернет.
- 🔄 После завершения перезагрузите компьютер, если система попросит.
☑️ Проверка перед включением .NET 3.5
Альтернативный способ — команда DISM, которую выполняют в терминале от имени администратора:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
Оба метода делают одно и то же. DISM удобен, когда графический интерфейс недоступен или нужно автоматизировать настройку нескольких машин.
⚠️ Внимание: если при включении компонента появляется ошибка0x800F0950или0x800F0906, чаще всего система не может получить файлы из Центра обновления — например, из-за ограничений корпоративной сети или отключённой службы обновлений. Не скачивайте «установщики .NET 3.5» со сторонних сайтов: сначала проверьте доступность Windows Update.
Установка современного .NET (версии 6, 7, 8 и новее)
Современный .NET распространяется отдельными установщиками с официального сайта Microsoft — страница dot.net. Там доступно несколько вариантов, и важно выбрать правильный:
| Пакет | Для чего нужен | Кому ставить |
|---|---|---|
| .NET Runtime | Запуск консольных приложений | Редко, по требованию программы |
| .NET Desktop Runtime | Запуск программ с графическим интерфейсом | Большинству пользователей |
| ASP.NET Core Runtime | Работа веб-приложений | Серверам и разработчикам |
| .NET SDK | Разработка и сборка программ | Только разработчикам |
Для обычного запуска программ с окнами нужен именно Desktop Runtime — ставить весь SDK не требуется. Установщик скачивается под архитектуру системы: x64 для большинства современных ПК, ARM64 для устройств на процессорах ARM. Разрядность системы можно посмотреть в разделе Параметры → Система → О системе.
После установки повторите команду dotnet --list-runtimes — новая версия должна появиться в списке. Если программа всё равно не запускается, проверьте, какую именно мажорную версию она требует: приложение, собранное под .NET 6, не всегда запустится на .NET 8 без соответствующей настройки.
Типовые ошибки и способы их решения
Ошибка 0x800F0950 при включении .NET 3.5 обычно указывает на проблему с получением файлов. Порядок безопасной диагностики такой: убедитесь, что служба Центра обновления Windows запущена, проверьте подключение к интернету, затем повторите включение компонента. В корпоративной среде причиной может быть политика, перенаправляющая обновления на локальный сервер WSUS, — в этом случае вопрос решается с администратором сети.
Ошибка 0x800F0906 означает, что Windows не смогла скачать необходимые файлы. Как вариант, источником файлов может служить установочный образ Windows 11 той же сборки: его подключают в системе и указывают DISM путь к папке sources\sxs через параметр /Source. Точный путь и букву диска нужно сверить с вашим подключённым образом.
Если приложение сообщает об отсутствии .NET, хотя нужная версия вроде бы установлена, проверьте разрядность. Некоторые старые программы требуют 32-разрядный рантайм даже на 64-разрядной системе. Также помогает повторный запуск установщика с выбором варианта «Восстановить» (Repair), если он предлагается.
⚠️ Внимание: не удаляйте встроенный .NET Framework 4.8 и не пытайтесь «переустановить» его сторонними средствами — он является частью Windows 11, и вмешательство может нарушить работу системных компонентов. Если есть подозрение на повреждение, используйте проверку системных файлов командой sfc /scannow.
Зачем вообще нужен .NET
Это платформа исполнения: набор библиотек и среда, в которой работают программы, написанные на C# и других языках .NET. Без установленного рантайма такая программа просто не запустится — примерно как игра без нужной версии DirectX. Разные программы собраны под разные версии платформы, поэтому на одном ПК их может быть несколько одновременно.
Нужно ли удалять старые версии .NET
Короткий ответ — без необходимости не стоит. Несколько версий .NET и .NET Framework нормально сосуществуют в системе и не конфликтуют. Удаление старого рантайма может сломать программу, которая на него завязана, а выигрыш в месте на диске обычно невелик.
Если всё же нужно убрать лишнее, делайте это через стандартный раздел Параметры → Приложения → Установленные приложения, удаляя только те записи, в необходимости которых вы уверены. Записи вида Microsoft .NET Framework в списке установленных программ, относящиеся к встроенному компоненту системы, трогать не следует.
Для поддержания актуальности современного .NET достаточно периодически устанавливать обновления — они приходят либо через Центр обновления Windows, либо при ручной установке свежей версии установщика.
Часто задаваемые вопросы
Windows 11 уже содержит .NET — зачем что-то устанавливать?
В систему встроен .NET Framework 4.8, этого достаточно для многих программ. Однако .NET Framework 3.5 выключен и включается отдельно, а современные версии .NET (6, 7, 8 и новее) устанавливаются как самостоятельные пакеты.
Чем .NET Framework отличается от .NET без слова Framework?
.NET Framework — классическая платформа только для Windows, развитие которой завершено на версии 4.8.x. Современный .NET (начиная с версии 5) — её кроссплатформенное продолжение, работающее на Windows, Linux и macOS. Это разные продукты, и одно не заменяет другое.
Ошибка 0x800F0950 при включении .NET 3.5 — что делать?
Проверьте интернет-соединение и работу службы Центра обновления Windows, затем повторите попытку. Если компьютер находится в корпоративной сети с локальным сервером обновлений, обратитесь к системному администратору. Как альтернатива — установка с установочного образа Windows 11 через DISM с указанием источника файлов.
Программа просит .NET 6, а у меня установлен .NET 8 — запустится ли?
Не гарантированно: совместимость между мажорными версиями зависит от того, как собрано приложение. Надёжнее установить именно ту версию рантайма, которую требует программа, — разные версии мирно уживаются вместе.
Где безопасно скачать установщик .NET?
Только на официальном сайте Microsoft — странице dot.net. Сторонние «сборники всех версий .NET» с неофициальных ресурсов могут содержать устаревшие или модифицированные файлы, и доверять им не стоит.