Используя сгенерированный компилятором хост CLR, нет, я не думаю, что вы можете сделать это.
Полагаю, вам придется самостоятельно разместить CLR и явно указать, какой CLR вы хотите загрузить при вызове CorBindToRuntimeEx
. Таким образом, вы хотите загрузить один CLR, указав v2, а другой - v4.
Раньше вы вообще не могли этого сделать, это выглядело эффектно.
Вы не можете сказать: «О, я просто хочу, чтобы этот метод запускался в CLR v2». Ваш «фрагмент управляемого кода» будет находиться в другом домене приложений, поэтому вам придется установить связь между двумя доменами приложений, например удаленное взаимодействие.