Может работать. net 4.8 вкл. net 4 - PullRequest
0 голосов
/ 17 января 2020

Есть вопрос, связанный с обратной совместимостью. Я всегда думал, что обратная совместимость была в том, что если я скомпилировал что-то на более низкой. net версии, таким образом, не нужно устанавливать эту предыдущую версию, если у меня уже установлена ​​улучшенная версия, чтобы иметь возможность запустить ее на клиентский компьютер.

Но, очевидно, это также относится к компиляции проекта в. net 4.8 и его запуску в системе, где. net 4.8 не установлен. Например, я использовал виртуальную машину Windows 7 SP1, на которой установлен только. net 4 Client Profile. Чтобы проверить это, я создал небольшое приложение WPF с двумя кнопками.

Кнопка # 1 asyn c и вызывает асин c функцию, которая не поддерживается в. net 4

Кнопка # 2 - это нечто совершенно простое, просто вызывая MessageBox, ничего особенного.

Моя виртуальная машина может нормально работать. net 4.8 .exe-скомпилированный .exe, две кнопки появляются, Button # 2 выводит мой MessageBox, и он выдает исключение, только если я запускаю то, что реализовал в кнопке №1, что потребует. net 4.8 (исключение PresentationCore TypeLoad).

Я не знал, что это было возможно, я всегда думал, что это приведет к ошибке, что. NET 4.8 не будет установлен, если я попытаюсь запустить что-то скомпилированное в этой версии.

TL; DR - есть документация где-то в MSDN или в блоге от. NET разработчиков, что подтверждает нормальное поведение, возможность запуска приложений, скомпилированных на более новой версии. net версия, которая не установлена ​​на C lient OS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...