С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для Enifan
1845 / 1187 / 501
Регистрация: 14.10.2018
Сообщений: 3,207

Установленные версии платформы .NET Framework

14.08.2020, 13:27. Показов 3395. Ответов 15

Студворк — интернет-сервис помощи студентам
Захожу в Мой компьютер - Установка и удаление программ - вижу только 3 вида Framework на удаление (все они версии 4.8)
Далее следую инструкциям из Документации
Захожу в реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NE T Framework Setup\NDP - показывает версии от 2.0 до 4.0. Папки Full не обнаруживаю - значит версии 4.5 или более поздней не установлено
Запускаю нижеуказанный код - выводит "4.8 or later"
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using Microsoft.Win32;
 
public class GetDotNetVersion
{
   public static void Main()
   {
      Get45PlusFromRegistry();
   }
 
   private static void Get45PlusFromRegistry()
   {
      const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
 
      using (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
      {
        if (ndpKey != null && ndpKey.GetValue("Release") != null) {
            Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion((int) ndpKey.GetValue("Release"))}");
        }
         else {
            Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");
         }
      }
 
      // Checking the version using >= enables forward compatibility.
      string CheckFor45PlusVersion(int releaseKey)
      {
         if (releaseKey >= 528040)
            return "4.8 or later";
         if (releaseKey >= 461808)
            return "4.7.2";
         if (releaseKey >= 461308)
            return "4.7.1";
         if (releaseKey >= 460798)
            return "4.7";
         if (releaseKey >= 394802)
            return "4.6.2";
         if (releaseKey >= 394254)
            return "4.6.1";
         if (releaseKey >= 393295)
            return "4.6";
         if (releaseKey >= 379893)
            return "4.5.2";
         if (releaseKey >= 378675)
            return "4.5.1";
         if (releaseKey >= 378389)
            return "4.5";
         // This code should never execute. A non-null release key should mean
         // that 4.5 or later is installed.
         return "No 4.5 or later version detected";
      }
   }
}
// This example displays output like the following:
//       .NET Framework Version: 4.6.1

Захожу на сайт установки .NET Framework 4.8 - узнаю что есть 2 вида: для пользователей и для программистов.
Смотрю Visual Studio Installer (из 2-ух версий выбираю 2017) обнаруживаю от 4.0 до 4.7

Вопросы:
1) Правда ли существует 2 версии платформ (для пользователя и программиста)? Если да - то в чем разница?
2) Как узнать что за версия у меня установлена? Где истина?
3) Произвожу чистку компа, хочу чтобы была установлена только последняя 4.8 (.NET Core пока не трогаю). Как добиться этого эффекта, если я даже не пойму что у меня вообще установлено? Достаточно ли будет только одной версии, чтобы при этом ничего не ломалось?
4) У меня 2 студии (2017 и 2019), как платформа взаимодействует между ними - одна на всех или еще как то?

Вопрос не по теме:
В 1-ой указанной ссылке на 1-ой строке пишут: можно установить несколько платформ и запустить несколько версий. Что значит запустить платформу? Это же не .exe, тем более запустить несколько. Ошибка перевода ?
Миниатюры
Установленные версии платформы .NET Framework   Установленные версии платформы .NET Framework   Установленные версии платформы .NET Framework  

0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.08.2020, 13:27
Ответы с готовыми решениями:

Проверка версии платформы .NET Framework
Необходимо чтобы при запуске программы (обязательно C#) происходила проверки наличия установленного .NET Framework 3.5 и выше. Пока...

Ошибка компляции после смены платформы с Windows CE (Compact Framework) на Windows (NET Framework)
Здравствуйте! Переделываю проект работавший под управлением WinCE чтобы он работал под WinXP. Сменил платформу в настройках...

.NET Framework для разработчика и .NET Framework для простого пользователя это одно и тоже?
Если я обычный пользователь компьютера и не разрабатываю приложения .NET Framework, но запускаю их и пользуюсь ими на своём ПК и наоборот...

15
 Аватар для Enifan
1845 / 1187 / 501
Регистрация: 14.10.2018
Сообщений: 3,207
16.08.2020, 19:16  [ТС]
Тема еще актуальна
0
Эксперт .NET
 Аватар для Rius
13068 / 7629 / 1669
Регистрация: 25.05.2015
Сообщений: 23,181
Записей в блоге: 14
16.08.2020, 19:25
Лучший ответ Сообщение было отмечено Enifan как решение

Решение

Цитата Сообщение от Enifan Посмотреть сообщение
1) Правда ли существует 2 версии платформ (для пользователя и программиста)? Если да - то в чем разница?
Версия для разработчиков - также добавляет поддержку в Visual Studio.

Цитата Сообщение от Enifan Посмотреть сообщение
2) Как узнать что за версия у меня установлена? Где истина?
Последняя.
Цитата Сообщение от Enifan Посмотреть сообщение
3) Произвожу чистку компа, хочу чтобы была установлена только последняя 4.8 (.NET Core пока не трогаю). Как добиться этого эффекта, если я даже не пойму что у меня вообще установлено? Достаточно ли будет только одной версии, чтобы при этом ничего не ломалось?
И так установлена последняя. Версии выше 4 устанавливаются как замены.

Добавлено через 3 минуты
Цитата Сообщение от Enifan Посмотреть сообщение
Произвожу чистку компа, хочу чтобы была установлена только последняя 4.8
Зачем? Из праздного любопытства или есть какая-то веская причина?
1
 Аватар для Enifan
1845 / 1187 / 501
Регистрация: 14.10.2018
Сообщений: 3,207
16.08.2020, 19:41  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Из праздного любопытства или есть какая-то веская причина?
Из любопытства и не вижу смысла хранения нескольких версий. Если бы они использовали бы все - то другое дело. Дело не в каких то 25 мб на каждую версию, а в том, что когда долго пользуешься одной виндой (не переустанавливая ее каждый пол года) со временем накапливается много хлама. Там 10мб, там 2 гб. В итоге гигов на 10 почистил за пару часов и навел более-менее порядок. И как показывает практика - винда начинает меньше тормозить
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
16.08.2020, 21:07
Цитата Сообщение от Rius Посмотреть сообщение
Из праздного любопытства или есть какая-то веская причина?
Ну да, из любопытства)
Я конечно, не знаю как оно у вас, но весь этот sdk устанавливается на один диск вместе с виндой, десяток фреймворков для шарпа, куча хлама для андроид студии, эмуляторы, которые жрут просто дохренища места, что и забивает диск под завязку.
А если еще вспомнить, что для работы ssd нужно оставлять часть пустого места и их далеко не бюджетные цены после роста курса...
В общем, приятного мало, когда твой комп начинает тупить, а у тебя установлено две студии и браузер.
0
1595 / 600 / 185
Регистрация: 05.12.2015
Сообщений: 970
16.08.2020, 22:17
Enifan,
создай проект, например консольное приложение (.NET Framework)
затем зайди в Свойства проекта
на первой вкладке будет список - Целевая рабочая среда
в этом списке - все установленные у тебя версии Framework на которых можно писать проги.
Это надо для обратной совместимости
Если у клиента, стоит Framework 4.0, то нельзя устанавливать целевую среду выше этой 4.0, ниже - можно.
Эта куча версий нужна чтоб разрабатывать для клиентов приложения версия которых равна или ниже, чем установленая у них.
Если сделаешь прогу на последней версии, а у клиента стоит винда ХР или семерка без обновления, то сам поймешь потом зачем все это надо.

https://docs.microsoft.com/ru-... patibility
1
 Аватар для Enifan
1845 / 1187 / 501
Регистрация: 14.10.2018
Сообщений: 3,207
17.08.2020, 18:58  [ТС]
Цитата Сообщение от proa33 Посмотреть сообщение
Если у клиента, стоит Framework 4.0, то нельзя устанавливать целевую среду выше этой 4.0, ниже - можно.
Это понятно. Убедился на собственном опыте. Прога то запустилась, но с ошибками.
Вопрос в другом - как мне понять какая версия стоит у клиента, если я на своем ПК не могу разобраться что есть что?
0
Эксперт .NET
 Аватар для Rius
13068 / 7629 / 1669
Регистрация: 25.05.2015
Сообщений: 23,181
Записей в блоге: 14
17.08.2020, 19:27
Цитата Сообщение от Enifan Посмотреть сообщение
Вопрос в другом - как мне понять какая версия стоит у клиента, если я на своем ПК не могу разобраться что есть что?
У вашей проги есть требования - какая-то минимальная версия фреймворка.
Прога будет работать и на более новых версиях.
Вы при установке проги клиенту проверяете, какая у него версия по этому описанию.
Если выше требуемой вами, то всё ОК.
Если ниже, надо установить либо минимально требуемую, либо самую актуальную версию.

Добавлено через 8 минут
Проверкой обычно занимается инсталлятор. Либо встроенная фича, либо вы сами код проверки дописываете.
Также есть готовые утилиты для этого.
1
 Аватар для Enifan
1845 / 1187 / 501
Регистрация: 14.10.2018
Сообщений: 3,207
17.08.2020, 19:41  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
какая у него версия по этому описанию.
А чем данное описание отличается от ссылки документации, что я скидывал в 1-ом посте ?
В ней также пишется про реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NE T Framework Setup\NDP\v4\Full. Скриншот я скидывал - у меня такой папки нет, значит у меня ниже чем 4.5. Тогда как я запускаю 4.8 ?
Цитата Сообщение от Rius Посмотреть сообщение
Если ниже, надо установить либо минимально требуемую, либо самую актуальную версию.
Тогда какой смысл ломать себе мозги - пишем сразу под 4.8 - а инсталлятор сам доделает работу за нас
0
Эксперт .NET
 Аватар для Rius
13068 / 7629 / 1669
Регистрация: 25.05.2015
Сообщений: 23,181
Записей в блоге: 14
17.08.2020, 19:47
Цитата Сообщение от Enifan Посмотреть сообщение
А чем данное описание отличается от ссылки документации, что я скидывал в 1-ом посте ?
Алгоритм один. Разве что кто-то обновляет при выходе новых версий. Вам шашечки или ехать?

Цитата Сообщение от Enifan Посмотреть сообщение
В ней также пишется про реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NE T Framework Setup\NDP\v4\Full. Скриншот я скидывал - у меня такой папки нет, значит у меня ниже чем 4.5. Тогда как я запускаю 4.8 ?
Смотрите внимательно:

Цитата Сообщение от Enifan Посмотреть сообщение
Тогда какой смысл ломать себе мозги - пишем сразу под 4.8 - а инсталлятор сам доделает работу за нас
Например, на уже снятой с поддержки Windows 7, не всякий фреймворк поставишь без дополнительного шаманства. Но да, так тоже можно.
Однако, если разрабатывать под минимальную версию фреймворка, установленную на всех поддерживаемых автором версиях Windows, то доустанавливать его не придётся.
https://docs.microsoft.com/ru-... pendencies
1
 Аватар для Enifan
1845 / 1187 / 501
Регистрация: 14.10.2018
Сообщений: 3,207
17.08.2020, 20:05  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Смотрите внимательно:
Е-мае, куда я смотрю.... v4 от v4.0 отличить не могу... А я и думаю, почему не сходится.
Цитата Сообщение от Rius Посмотреть сообщение
Однако, если разрабатывать под минимальную версию фреймворка, установленную на всех поддерживаемых автором версиях Windows, то доустанавливать его не придётся.
Как я понял, рекомендуют делать под 4.0, которая есть уж у всех, да и CLR там новая. Все что ниже - фтопку.

Ладно, это если делать под клиента - это одно, но есть меня пока это не интересует - и делаю только под себя - есть ли смысл заморачиваться ?

Добавлено через 1 минуту
Цитата Сообщение от Rius Посмотреть сообщение
Например, на уже снятой с поддержки Windows 7
Эм, а когда 7-ка то успела выйти из моды. Про ХР слышал, но 7-ку то за что ?
0
Эксперт .NET
 Аватар для Rius
13068 / 7629 / 1669
Регистрация: 25.05.2015
Сообщений: 23,181
Записей в блоге: 14
17.08.2020, 20:11
Цитата Сообщение от Enifan Посмотреть сообщение
Эм, а когда 7-ка то успела выйти из моды. Про ХР слышал, но 7-ку то за что ?
Поддержка Windows 7 закончилась 14 января 2020 г.
Вы не обязаны эту ОС поддерживать.
Если вы её хотите продолжать поддерживать, то поймёте, почему некоторые и XP-шкой заморачиваются (там последний .Net Framework версии 4.0).

Цитата Сообщение от Enifan Посмотреть сообщение
и делаю только под себя - есть ли смысл заморачиваться ?
Для себя есть смысл .Net Framework 4.7.2 и выше, либо .Net Core 3.1 и выше.
2
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
29.06.2021, 15:54
Цитата Сообщение от Enifan Посмотреть сообщение
В ней также пишется про реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NE T Framework Setup\NDP\v4\Full. Скриншот я скидывал - у меня такой папки нет, значит у меня ниже чем 4.5. Тогда как я запускаю 4.8 ?
вы не лезте в реестр... см. в Панель управления -> Программы и компоненты -> включение или отключение компонентов Windows...
NET.Framework - это Компонент!
Цитата Сообщение от Rius Посмотреть сообщение
Версии выше 4 устанавливаются как замены.
Миниатюры
Установленные версии платформы .NET Framework  
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
29.06.2021, 15:59
Цитата Сообщение от proa33 Посмотреть сообщение
Если у клиента, стоит Framework 4.0, то нельзя устанавливать целевую среду выше этой 4.0, ниже - можно
И 2 версии NET.Framework тоже нельзя ставить на одну систему...
0
Эксперт .NET
 Аватар для Rius
13068 / 7629 / 1669
Регистрация: 25.05.2015
Сообщений: 23,181
Записей в блоге: 14
01.07.2021, 09:43
Версии выше 4 включают в себя предыдущие 4.x
Поэтому не то что нельзя, а смысла нет.
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
01.07.2021, 19:21
Цитата Сообщение от Rius Посмотреть сообщение
Поэтому не то что нельзя, а смысла нет.
да, читала, что "не ставятся"... в общем как-то, вероятно, дообновляются...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.07.2021, 19:21
Помогаю со студенческими работами здесь

.NET Framework и .NET Framework Client Profile
Добрый день! Столкнулся со следующим непонятным мне поведением: при выборе в настройках проекта требуемой версии .NET если выбрать...

Объясните на пальцах совместимость библиотек в .Net Core, .Net Framework, .Net Standart
Изучаю .Net. Хочу написать некое серверное приложение (думаю что учеба лучше на реальном примере, нежели писать примитивные hello world)....

Узнать установленные версии .Net из программы на си
Здравствуйте. Собственно вопрос. Имеется программа написанная на .Net. Но поскольку заранее неизвестно какая версия .Net установлена...

Запуск приложения на платформе .NET Framework 4.0, на другом компьютере без установки .NET Framework 4.0
Как запустить приложение на платформе .NET Framework 4.0, на другом компьютере без установки .NET Framework 4.0?

Ошибка "поставщик не зарегистрирован" после смены версии Net Framework
Здравствуйте. Программа отказалась запускаться на целевом компьютере, на котором установлена Windows XP. Соответственно я стала менять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru