Что такое обратная совместимость .NET Framework?

12

Мы разрабатываем приложение для Windows в .NET 4 с базой данных MySQL. Когда мы собираемся развернуть это приложение, мы устанавливаем платформу .NET 4 в нашем клиенте, а затем при установке .NET Connector для MySQL требуется .NET Framework 3.5. Но .NET 4 уже установлен. Разве .NET Framework не был обратно совместим?

В итоге мы устанавливаем две .NET Framework (3.5 и 4), которые не малы по размеру диска. Что именно означает обратная совместимость?

Джон Исайя Кармона
источник
3
Ответ на незаданный вопрос: да, нормально злиться.
Эрик Реппен
Нужно ли устанавливать весь .NET 3.5 Framework для одного соединителя? Вы пытались скопировать / зарегистрировать только необходимые сборки?
Мерт Акчакая
6
What is .NET framework backward compatibility?Миф
Яннис
@YannisRizos Они содержат устаревшие коды / функциональность и держат их рамки все больше и больше для мифа? .NET странно.
Джон Исайя Кармона
@ErikReppen: злиться на кого?
Док Браун

Ответы:

18

Чтобы процитировать MSDN :

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

Однако на практике эта совместимость может быть нарушена, казалось бы, несущественными изменениями в .NET Framework и изменениями в методах программирования. Например, улучшения производительности в .NET Framework 4 могут привести к состоянию гонки, которого не было в более ранних версиях. Аналогично, использование жестко заданного пути к сборкам .NET Framework, сравнение на равенство с определенной версией .NET Framework и получение значения частного поля с помощью отражения не являются обратно совместимыми методами. Кроме того, каждая версия .NET Framework содержит исправления ошибок и изменения, связанные с безопасностью, которые могут повлиять на совместимость некоторых приложений и компонентов.

Вам следует протестировать свои приложения и компоненты .NET Framework, чтобы убедиться, что они совместимы с другими версиями .NET Framework. Чтобы обеспечить успешное выполнение приложения или компонента в .NET Framework 4, используйте пошаговое руководство по совместимости приложений .NET Framework 4.

Вы также можете увидеть эту очень полезную ветку, в которой было дано подробное объяснение:

/programming/2816914/backwards-compatibility-of-net-framework-4

Мамта Д
источник
3

Глядя на http://dev.mysql.com/doc/refman/5.6/en/connector-net-versions.html , я думаю, вам не нужна версия 3.5, версии 2.0 должно быть достаточно (которая намного меньше и часть 3,5).

Если больше ничего не помогает, вы можете попробовать скомпилировать коннектор самостоятельно для FW 4.0, см. Http://dev.mysql.com/doc/refman/5.6/en/connector-net-installation-source.html.

Док Браун
источник