.NET Framework и версия Совместимость - PullRequest
3 голосов
/ 10 февраля 2011

Если приложение .NET (Form / Web) построено с использованием Framework 2.0, будет ли оно работать на компьютере, имеющем только версию 4.0 платформы?

Например, я установил свежую копию Win Server 2003 иобновил систему до версии 4.0 платформы .NET (тогда в системе было только 1.0, 1.1 и 4.0 платформы .NET), но при установке SQL Server 2008 R2 Express программа установки попросила установить еще одну версию пакета SP3 версии 3.5.

Ответы [ 2 ]

5 голосов
/ 10 февраля 2011

Да, ваше приложение 2.0 будет работать на компьютере с платформой 4.0. Обратная совместимость есть в dot net 4.0.

Для получения дополнительной информации посмотрите эту статью MSDN

MSDN говорит

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

Однако вам нужно настроить поддерживаемое время выполнения на 4.0 в файле конфигурации приложения 2.0.

4 голосов
/ 10 февраля 2011

Вам нужно добавить запись в app.config, чтобы подписаться на запуск на CLRv4.

<configuration>
    <startup>
        <supportedRuntime version="v2.0.50727"  />
        <supportedRuntime version="v4.0"  />
    </startup>
</configuration>

(Если вы не добавите информацию v2, она будет только запустить на v4 CLR!)

...