Хорошо, это - довольно широкий вопрос, но... Существует ли диаграмма, в которой говорится, что версия платформы выполнит что?
Так, я предполагаю, что это тормозит вниз в два вопроса
1 - Действительно ли платформы 100% обратно совместимы? У меня была Платформа, 2.0 Веб-сайта выполняют 1.1 dlls, таким образом, я принимаю 2.0, будет работать 1.1. Это будет работать на приложение Windows? Это будет работать на все версии?
2 - Платформа когда-либо прямо совместима? Я знаю, что реверс вышеупомянутого не будет работать, но это будет работать на какой-либо набор версий?
Так, как важный это должно сохранить версии на машинах Ваших клиентов синхронизировавшими с Вашей версией сборки?
Существует ли лучшая практика в сообществе .NET о том, как заставить Ваше программное обеспечение работать на большую часть числа клиентов, не вынуждая нетехнических пользователей загрузить более новые/отличавшиеся версии платформы .NET?
Как правило, если .NET версии X устанавливается бок о бок с .NET версии Y, то .NET версии X не совместима (назад или вперед) с .NET версии Y. Это правило я использую уже довольно давно (с момента выхода .NET 2.0). Возможно, оно слишком безопасно для небольших приложений, но лучше перестраховаться, чем потом жалеть.
Вот несколько конкретных примеров:
.NET 2. 0 не запускает .NET 1.1
.NET 4.0 устанавливается бок о бок с .NET 3.5/3.0/2.0 и с .NET 1.1
Надеюсь, это поможет.
ИМО, на сегодняшний день "основные" версии:
Фреймворки на разных линиях устанавливаются бок о бок и не работают друг с другом; те, которые находятся на одной линии, могут использоваться взаимозаменяемо, если на главном компьютере установлена по крайней мере версия сборки.
Все версии .NET в настоящее время поставляются с Windows - теперь они считаются частью операционной системы и следуют ее жизненному циклу. (См. http://support.microsoft.com/lifecycle/search/?alpha=.NET+Framework&sort=PN ). Если ваши пользователи постоянно обновляют свой компьютер, вы не должны проблемы с использованием последней версии .NET Framework.
Убедитесь, что для ваших файлов конфигурации новее 1.0 вы включили элемент
: http://msdn.microsoft.com/en-us/library/w4atty68. aspx
Как Джим Шуберт упоминает в своем комментарии, ваш код C # может компилироваться в более поздних версиях, но есть некоторые критические изменения.
Нигде не видел диаграммы, но, как правило, вы не беспокоитесь об обратной совместимости. Единственное, что важно - убедиться, что у ваших клиентов установлен минимальный фреймворк.
И нет, ни одна из версий .NET не имеет прямой совместимости.