Я не уверен, что вам нужно установить 3.5. CLR .net 4.0 может загружать сборки, написанные на .net 2.0 и выше, и кажется маловероятным, что они будут работать с разными версиями CLR, так как .net4и сборки 2.0 могут вызывать друг друга без взаимодействияв некоторых случаях.Это связано с тем, что модель безопасности изменилась с CAS в .net 2.0 на упрощенную систему в 4.0
. Мне кажется, это еще одно указание на то, что .net 2.0 clr фактически не используетсяпри загрузке сборки .net 2.0 в процесс .net 4.0.
(.NET 2.0 и 4.0 ссылаются на общеязыковую версию, все версии 2.0, 3.0 и 3.5 используют версию CLR 2.0)
-edit-
Согласно этой нити , .net 3.5 не требуется для загрузки сборки 3.5, если процесс 4.0.
-edit2-
Вот как вы должны изменить свой app.config, чтобы разрешить исполняемому файлу .net 4.0 загружать сборки 2.0 во всех сценариях (например, запуск сетевого диска)
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>