Я построил программу на C# .NET 2.0, которая отлично работает и в рамках фреймворков 3.0 и 3.5.. Конфигурация «Любая инфраструктура»
Но если .NET Framework 4.0 является единственной установленной инфраструктурой, она не работает, она требует, чтобы пользователь установил 2.0.
я нашел следующую конфигурацию в гугле:
<startup>
<requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
</startup>
После добавления этого к app.config, моя программа работает на платформе .NET Framework 4.0 без каких-либо проблем!
Что я ищу - это конфигурация .NET Any Framework, которая запускает мою программу под .NET 2.0, если она установлена, или же в .NET 4.0.
Как это сделать?
Я не уверен, что это возможно без * два * различные сборки (один .NET2, один .NET4). .NET4 использует другое время выполнения/ядро, чем .NET2/3/3.5 (например, это не просто проблема нового .NET API), поэтому, если нет какой-то волшебной опции, требующей CLR2 * или * CLR4, которые я никогда не слышал из ... может быть еще несколько дьявольских методов, таких как использование прокси-исполняемого файла для загрузки лучшего/только CLR, а затем изображения. Я не знаю :-) –