#c_sharp #net
Допустим, есть ПК с Framework 4.5 и есть приложение, которое написано под 4,0. Данное приложение расширяемое. Возможна ли корректная работа такого приложения, если подсунуть ему DLL, которая будет собрано под 4,5? Собственно, столкнулся с тем, что приложение собранное под 4,0 смогло работать с AngleSharp, который собран по 4,5. На машине пользователя стоял 4,5 фреймфорк . Не почудилось ли мне это? Всегда думал, что младший не может использовать функционал старшего.
Ответы
Ответ 1
Коль скоро ваше приложение запускается под .NET 4.5, то вы можете загружать сборки, собранные под 4.5, и они будут работать корректно, вне зависимости от того, использованы ли в них фичи, которых не было в .NET 4.0. Потому что весь код -- и вашего приложения, и сторонней сборки -- будет работать под .NET 4.5.Ответ 2
.NET Framework версии 4.5 был выпущен в таком виде, что обновление до этой версии с версии 4.0 можно было выполнить просто заменив все dll файлы. Более того, Ваше приложение даже не заметит подмены - сборки 4.5 определяются так же, как и сборки 4.0 Попробуйте выполнить следующий код в приложении с разными .NET Framework. Console.WriteLine(Environment.Version.Major); Console.WriteLine(Environment.Version.Build); Для обоих версий (4.0 и 4.5) вывод будет: 4 30319 Касательно Вашего вопроса, приложение будет работать стабильно, Майкрософт гарантирует полную обратную совместимость с версией 4.0 для версии 4.5, Вам даже подменять ничего не нужно.
Комментариев нет:
Отправить комментарий