Привет всем,
Это смущало меня с тех пор, как я впервые начал писать код на C #.Моя цель - создать сборку, которая будет работать на самой последней платформе .NET, какой бы пользователь ни был.Я не хочу требовать установки .NET 4, но я хочу использовать его, если он у пользователя, и, что более важно, я хочу, чтобы он продолжал работать, если у пользователя только .NET 4и ничего ниже.Я начинаю подозревать, что это даже невозможно.
Я не совсем понимаю, что выбираю, когда меняю «Целевую платформу» в Visual Studio.Означает ли это "будет совместим с этой версией и выше"?Или "будет совместима только с этой версией"?Кажется, что это последний пока;мои тесты на виртуальных машинах показывают, что целевые сборки .NET 4 не работают без .NET 4, а целевые сборки .NET 3.5 не работают без .NET 3.5.Нет ли способа установить это так, чтобы я мог достичь максимальной совместимости?
ОБНОВЛЕНИЕ: Чтобы уточнить, у меня есть программа, нацеленная на .NET 2. Представленные здесь постеры, похоже, указывают, что она должна загружаться с .NET 4.Но в среде, где есть только .NET 4 и ничего до этого, он не загружается.
ОБНОВЛЕНИЕ2: Хорошо, разобрался, но это гораздо сложнее, чем, кажется, думают авторы.Я открываю другой вопрос, чтобы обсудить тонкости, но короткая версия такова, что вам нужен app.config с <supportedRuntime version="v4.0" />
, если вы хотите запускать сборки не .NET 4 в .NET 4. Они не будутзагрузить без него.