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