Вопрос

У меня есть библиотека класса .NET 4.0, которая использует только функции .Net 2.0.Чтобы сделать эту библиотеку более совместимой с Mono, я рассматриваю возможность изменения целевого фреймворка на 2.0 вместо профиля клиента 4.0.

Но вопрос в том,:Приводит ли изменение целевого фреймворка на более старую версию к замедлению работы библиотеки (снижению производительности).Графический интерфейс приложения по-прежнему будет ориентирован на версию 4.0, поэтому на всех ПК с Windows, на которых запущено приложение, будет установлена платформа 4.0 framework.Будет ли моя библиотека 2.0 выполняться JIT-компилятором 4.0 (производительность должна быть такой же) или более старым 2.0 JIT (производительность может быть медленнее)?

Это было полезно?

Решение

Нет, поскольку приложение по-прежнему нацелено на версию 4 фреймворка (как вы сказали "графический интерфейс приложения по-прежнему будет нацелен на 4"), тогда весь код будет использовать jit версии 4 и, следовательно, работать со скоростью V4, даже если данная dll предназначена для версии V2 фреймворка.

Другие советы

Если вы нацелены на старый фреймворк, то код будет выполняться на старой среде CLR.Таким образом, производительность будет такой же, как у старой среды CLR, и потенциально медленнее, но вам придется выполнить профилирование, чтобы увидеть, является ли это проблемой.

Тот Самый Платформа .NET Framework 4 обратно совместим с приложениями, созданными с версиями 1.1, 2.0, 3.0 и 3.5.

Что касается производительности, я не думаю, что заметная разница будет заметна.Вы должны быть больше обеспокоены тем, что различные версии фреймворка нарушают совместимость из-за устаревшая функциональность.

Смотрите здесь подробную информацию о совместимости

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top