Нужны ли все версии Microsoft .NET Framework?

22

У меня есть 4 версии Microsoft .NET Framework:

  • 1,1
  • 2.0 с пакетом обновления 2
  • 3.0 с пакетом обновления 2
  • 3.5 SP1

Нужны ли они все?

Радость Seacat
источник
Надеемся, что ответы могут быть расширены в идеальном порядке установки (скорее всего, самая низкая версия вверх).
Synetech
Добавлен ответ ... удалить их все; установите .NET 4 и все будет в порядке.
Аарон Макивер
1
Я знаю, что этот вопрос старый, но поиск в Google, который я только что сделал, привел меня сюда. Прочитайте мои комментарии к ответу Аарона Макивера по той причине, что «решение» Аарона не всегда работает.
pepoluan

Ответы:

12

Существует 4 разных версии .net framework.

  • .NET 1
  • .NET 1.1
  • .NET 2
  • .NET 4

Все они могут быть установлены и удалены независимо. Вот где это начинает становиться интересным! Был представлен .NET 3 (вместе с пакетом обновления для .NET 2) и был дополнительным набором библиотек для него. .NET 3.5 следовал этой тенденции (со вторым пакетом обновлений для .NET 2 и пакетом обновлений для .NET 3) и снова требовал .NET 2, поскольку он только что расширил его.

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

Нужен ли вам какой-либо из них или нет, зависит от того, что вы работаете. Большинство приложений по-прежнему созданы для .NET 2 до 3.5, поэтому установка 3.5 покроет вас за это. Я бы порекомендовал установить 4, так как Microsoft хочет, чтобы люди использовали.

.NET 4.5 (и 4.5.1, 4.5.2) - это обновление для .NET 4 на месте.

Мэтью Стиплз
источник
2
-1 Если у вас есть .NET 4, вы можете запустить любое приложение, созданное с помощью .NET 1.1+
Аарон Макивер
7
@ Аарон, это не правило
Шехар
7

При установке .Net Framework 3.5 также устанавливаются все предыдущие версии начиная с 2.0. Версия 1.1 является исключением и должна быть установлена ​​отдельно.

Поскольку вам, похоже, нужна версия 3.5 с пакетом обновления 1 (SP1), будут также установлены все версии .Net от 2.0 и выше. Таким образом, у вас действительно нет выбора, и попытка удалить одну версию может вызвать проблемы с другими версиями, основанными на ней.

Поскольку осталось очень мало продуктов, требующих .Net 1.1, с его установкой можно ждать, пока в этом не будет реальной необходимости. Поскольку он не устанавливается автоматически, и если он уже установлен, это означает, что он требуется для установленного вами продукта (если вы не используете XP, где он установлен по умолчанию).

Вы не упомянули .Net 4.0, но с этой версией Microsoft пыталась уменьшить размер программного обеспечения, не включая все предыдущие версии. Таким образом, .Net 4.0 меньше и должен быть обратно совместим со всеми предыдущими версиями от 1.1 и выше. Так что в теории это единственный, что вам нужно.

harrymc
источник
1
Вы ошибаетесь в том, что .NET 4 строится поверх 2. Я опубликовал более подробный ответ ниже. В основном версия 4 является последней автономной версией.
Мэтью Стиплс
@Matthew Steeples: я исправил свой ответ, чтобы не включать v4. Я не уверен, что вы правы, подразумевая, что 2.0 не устанавливается при установке 3.5 SP1.
Harrymc
-1 Если у вас есть .NET 4, вы можете запустить любое приложение, созданное с помощью .NET 1.1+
Аарон Макивер
2
@ Аарон: почему голосование против? Я ничего не говорю о v4, так как у меня нет опыта работы с ним. Смотрите ответ Мэтью Стиплз за это. Слишком быстрое голосование - это не хороший сетевой этикет.
Harrymc
2
@ Аарон: Ссылаясь на вашу ссылку: « Однако на практике эту совместимость можно нарушить, казалось бы, несущественными изменениями в .NET Framework и изменениями в методах программирования ». В любом случае, такая же фраза совместимости должна была быть найдена как есть в примечаниях к выпуску всех версий .Net начиная с 2.0, и это никогда не было полностью правдой. Это просто рекламный шумиха от MS.
Harrymc
6

Разным приложениям нужны разные фреймворки, и я полагаю, что обратной совместимости нет, поэтому вам могут понадобиться все они, хотя вам не нужно загружать их сразу.
Когда вы устанавливаете приложение, которому нужна конкретная версия фреймворка, вы можете загрузить их. (Им в основном понадобятся 2, 3 или 3,5)

Шекхар
источник
-1 Если у вас есть .NET 4, вы можете запустить любое приложение, созданное с помощью .NET 1.1+
Аарон Макивер
3
@ Аарон не во всех случаях
Шехар
1
@ Аарон Акула прав.
Камило Мартин
@CamiloMartin FW, потребляемые потребителем, обратно совместимы, MS заявляет об этом сами . Это не какой-то пирог в небесном сне, который я придумываю.
Аарон Макивер
2

Не правда, что Net4 - это все, что вам нужно. Я удалил все версии, а затем установил ТОЛЬКО v4. Первое приложение, которое я пытался запустить (Powermate), заявило, что не может найти необходимый .NET Framework. Затем я установил Net v2 SP2 и обновление SP2, и приложение работало нормально.

Кен Робертс
источник
1
Да, Кен, Microsoft не очень близка к .NET. .NET Framework 4 обратно совместим с приложениями, созданными с использованием .NET Framework версий 1.1, 2.0, 3.0 и 3.5. Другими словами, приложения и компоненты, созданные с использованием предыдущих версий .NET Framework, будут работать на .NET Framework 4. Это утверждение просто слухи.
Аарон Макивер
-3

Если у вас установлен .NET 4, вы можете запустить любое приложение .NET, созданное на любой платформе от 1.1 .

.NET Framework 4 обратно совместим с приложениями, созданными с использованием .NET Framework версий 1.1, 2.0, 3.0 и 3.5. Другими словами, приложения и компоненты, созданные с использованием предыдущих версий .NET Framework, будут работать на .NET Framework 4.

Аарон Макивер
источник
@Shark Это MS покрывает их шкуру ... OP должен быть в порядке с установкой .NET 4.
Аарон Макивер
3
Полагаю, вы не читали следующий абзац ... Однако на практике эту совместимость можно нарушить, казалось бы, несущественными изменениями в .NET Framework и изменениями в методах программирования
Шехар
1
@Shark Это MS покрывает их шкуру. Они не могут гарантировать, что данный разработчик сделал для увеличения производительности ... особенно в отношении потоков. Чтобы скрыть свою шкуру, они должны распространять эту информацию. VS2010 + .NET 4 позволяет нацеливаться на несколько платформ, то есть ... 3.5, 2.0 и т. Д. Если по какой-либо причине я создаю приложение для платформы .NET 2, то, разумеется, я не поставляю распространяемый .NET 2 ... доставка .NET 4.
Аарон Макивер
4
Я знаю, что этот ответ старый, но на связанной странице явно говорится: по умолчанию приложение запускается в той версии .NET Framework, для которой оно было создано. Если эта версия отсутствует и файл конфигурации приложения не определяет поддерживаемые версии, может произойти ошибка инициализации .NET Framework. В этом случае попытка запустить приложение не удастся.
pepoluan
2
-1. По моему опыту это просто не тот случай.
andyb