Если вам нужен .NET Framework в Visual Studio, установите не только Runtime, а Developer Pack или targeting pack нужной версии. Runtime нужен для запуска программ, а Developer Pack нужен Visual Studio, чтобы создавать и собирать проекты под конкретную версию .NET Framework
- Как добавить через Visual Studio Installer
- Как выбрать версию в проекте
- Runtime и Developer Pack: в чем разница
- Если версия не появляется
- Как понять, что нужен именно .NET Framework
- Частые ошибки
- Ставят только Runtime
- Путают .NET и .NET Framework
- Меняют Target framework без проверки пакетов
- Что почитать дальше по .NET Framework
Как добавить через Visual Studio Installer
Откройте Visual Studio Installer, выберите установленную Visual Studio и нажмите Modify. Дальше есть два пути
Первый путь — через workloads. Для классических приложений Windows выберите рабочую нагрузку, связанную с .NET desktop development
Второй путь — через вкладку Individual components. Найдите нужные компоненты:
.NET Framework 4.x targeting pack
.NET Framework 4.x SDK
Выберите версию, под которую должен собираться проект, и нажмите Modify
Как выбрать версию в проекте
Откройте свойства проекта:
Project -> Properties -> Application -> Target framework
В списке выберите нужный .NET Framework. Если версии нет в списке, значит targeting pack не установлен или проект относится к другому типу
Для SDK-style проектов версия может быть указана в .csproj:
<TargetFramework>net48</TargetFramework>
Для .NET Framework 4.7.2 будет:
<TargetFramework>net472</TargetFramework>
Runtime и Developer Pack: в чем разница
Runtime позволяет запускать приложения. Developer Pack добавляет сборку, reference assemblies и возможность выбирать версию в Visual Studio. Поэтому ситуация «программа запускается, но Visual Studio не видит Framework» вполне возможна: Runtime установлен, а targeting pack нет
Если версия не появляется
- Закройте Visual Studio.
- Откройте Visual Studio Installer.
- Установите targeting pack нужной версии.
- Перезапустите Visual Studio.
- Проверьте
Target frameworkв свойствах проекта.
Если проект старый, проверьте его тип. Некоторые проекты нельзя просто переключить на современный .NET Framework без правки зависимостей
Как понять, что нужен именно .NET Framework
Посмотрите файл проекта. Если в нем указано net48, net472, net461 или похожее значение, это проект под .NET Framework. Если указано net8.0, net9.0 или net10.0, это современный .NET, и устанавливать targeting pack .NET Framework для такого проекта не нужно
Еще один признак — тип приложения. Старые WinForms, WPF и ASP.NET Web Forms часто используют .NET Framework. Новые проекты обычно создаются под современный .NET, если вы явно не выбрали шаблон с Framework
Частые ошибки
Ставят только Runtime
Для разработки нужен Developer Pack или targeting pack
Путают .NET и .NET Framework
net8.0 и net48 — разные платформы. Старый проект WinForms или WPF может быть именно под .NET Framework
Меняют Target framework без проверки пакетов
После смены версии проверьте NuGet-пакеты и ссылки проекта
Что почитать дальше по .NET Framework
Если нужен общий маршрут по теме, откройте рубрику .NET Framework. Для соседних задач пригодятся эти разборы:
- .NET Framework 3.5 для Windows Server 2012 R2 x64: как скачать и установить
- .NET Framework vs .NET 10: что выбрать разработчику и пользователю
- Microsoft .NET Framework 4.0 для Windows XP 32 bit: где скачать и как установить
- Microsoft .NET Framework: как узнать версию, установленную в системе



