Нет причин ждать лучшего ответа. Спасибо за ваши усилия и ответ.

словии, что:

Исходный код C # ниже скомпилирован под .NET 2.0 (CLR 2.0); а такжеВышеуказанное приложение используетapp.config перечислено ниже; а такжеТолько .NET 4.0 (CLR 4.0) устанавливается в среде клиента, выполняющего приложение,

тогда какая версия .NET загружается изнутри для выполнения приложения в среде клиента?

Описание

Консольное приложение ниже просто покажет, что его версия CLRv4.0.30319 в консоли, но @Reed Copsey ответ стека (CLR 2.0 против 4.0 производительности?) показывает, что в этом случае загружается .NET 2.0. Кроме того, вMSDN это говорит когдаuseLegacyV2RuntimeActivationPolicy установлено в ложьfalse:

Используйте политику активации по умолчанию для .NET Framework 4 и более поздних версий,что позволяет старым методам активации времени выполнения загружать в процесс версию 1.1 или 2.0 CLR.

Похоже, что .NET 2.0 загружается, несмотря наapp.config имея конфигурацию .NET 4.0. Я что-то не так понял?

Источник

C # исходный код

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string version = Environment.Version.ToString();
            Console.WriteLine(version);
        }
    }
}

app.config

<?xml version="1.0"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="false">
        <supportedRuntime version="v4.0.30319"/>
    </startup>
</configuration>

Ответы на вопрос(1)

Ваш ответ на вопрос