Назад | Перейти на главную страницу

Есть ли обратная совместимость версий .NET?

На протяжении многих лет на моих клиентских машинах через WSUS были развернуты различные версии .NET. Теперь кажется, что на многих машинах эти установки были связаны друг с другом, и некоторые обновления безопасности .NET не работают.

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

Возникает вопрос: если у меня .NET 3.5, есть ли причина устанавливать и предыдущие версии?

Обратная совместимость - плохой термин для использования. .NET 1.0, 1.1 и 2.0 - это отдельные платформы, несовместимые друг с другом. .NET 3.0 и 3.5 - это супернаборы платформы 2.0, использующие базовую структуру .NET 2.0, с дополнительными dll для предоставления дополнительных функций (3.0 включал такие вещи, как WCF и WWF, 3.5 имел такие вещи, как LINQ). С точки зрения требований к приложению:

  • 1.0 требует установки .NET 1.0.
  • 1.1 требует установки .NET 1.1.
  • 2.0 требует установки .NET 2.0, 3.0 или 3.5.
  • 3.0 требует установки .NET 3.0 или 3.5.
  • 3.5 требует установки .NET 3.5.

Я почти уверен, что .NET 4.0 следует той же модели, что и 2.0 - 3.5 (база 2.0 с дополнительными DLL-библиотеками). Таким образом, установка .NET 3.5 покроет вас для приложений .NET 2.0 - 3.5. Вам необходимо установить .NET 1.1, если вы запускаете какие-либо приложения 1.1 (то же самое для приложений 1.0).

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

Нет, .net не имеет обратной совместимости. MS оставляет за собой право вносить изменения. От 2,0 до 3,5 - это IIRC, но это скорее «удачная сторона». По сути, установлены все необходимые фреймворки, и приложение нацелено на фреймворк, для которого оно было скомпилировано - это позволяет MS очищать новые версии и вносить несовместимые изменения.