.NET Framework версии (или что работает, что?) - PullRequest
5 голосов
/ 15 июля 2010

ОК, это довольно широкий вопрос, но ... Есть ли диаграмма, в которой указано, какая версия фреймворка будет работать и что?

Итак, я думаю, что это разбивается на два вопроса

1 - Являются ли фреймворки на 100% обратно совместимыми? У меня был веб-сайт Framework 2.0 с 1.1 библиотеками, поэтому я предполагаю, что 2.0 будет работать с 1.1. Будет ли это работать для приложения Windows? Будет ли это работать для всех версий?

2 - Является ли фреймворк всегда совместимым? Я знаю, что обратное выше не будет работать, но будет ли оно работать для любого набора версий?

Итак, насколько важно синхронизировать версии на компьютерах ваших клиентов с вашей версией сборки?

Существует ли лучшая практика в сообществе .net о том, как заставить ваше программное обеспечение работать для большинства клиентов, не заставляя нетехнических пользователей загружать более новые / разные версии .net framework?

Ответы [ 3 ]

4 голосов
/ 15 июля 2010

Как правило, если .NET версия X устанавливается бок о бок с .NET версией Y, то .NET версия X несовместима (в обратном или прямом направлении) с версией .NET Y. Это правило IПользуюсь уже довольно давно (с тех пор как вышла .NET 2.0).Это, вероятно, слишком безопасно для небольших приложений, но лучше быть безопасным, чем сожалеть.

Вот несколько конкретных примеров:

  • .NET 4.0 не будет запускать .NET 3.x или более ранние приложения
  • .NET 3.5 будут запускать приложения .NET 3.0 и .NET 2.0, но не .NET 1.1
  • .NET 3.0 будет запускать приложения .NET 2.0, но не .NET1.1
  • .NET 2.0 не будет работать .NET 1.1

  • .NET 4.0 устанавливается параллельно с .NET 3.5 / 3.0 / 2.0 и с.NET 1.1

  • .NET 3.5, 3.0 и 2.0 не устанавливаются бок о бок друг с другом
  • .NET 3.5 / 3.0 / 2.0 устанавливается бок о бокс .NET 1.1

Надеюсь, это поможет.

1 голос
/ 15 июля 2010

ИМО, на сегодняшний день "основными" версиями являются:

  • 1.0
  • 1.1
  • 2.0, 3.0, 3.5 (я полагаю, что они были выделеныдля основных расширений C #)
  • 4.0

Фреймворки на разных линиях устанавливаются бок о бок и не работают друг с другом;их можно использовать взаимозаменяемо, если на хост-машине установлена ​​хотя бы версия сборки.

Все версии .NET в настоящее время поставляются с Windows - теперь они считаются частью операционной системы и соответствуют ее жизненному циклу.(См. http://support.microsoft.com/lifecycle/search/?alpha=.NET+Framework&sort=PN) Если ваши пользователи постоянно обновляли свой компьютер, у вас не должно возникнуть проблем с использованием последней версии .NET Framework.

Убедитесь, что для ваших файлов конфигурации позжечем 1.0, вы включаете элемент <supportedRuntime>: http://msdn.microsoft.com/en-us/library/w4atty68.aspx

Как упоминает Джим Шуберт в своем комментарии, ваш код C # может компилироваться в более поздних версиях, но есть некоторые критические изменения.

0 голосов
/ 15 июля 2010

Нигде не видел диаграммы, но в целом вы не беспокоитесь о обратной совместимости. Единственная важная вещь - убедиться, что на ваших клиентах установлена ​​минимальная инфраструктура.

И нет, ни одна из версий .NET не поддерживает прямую совместимость.

...