2012-03-26 2 views
2

Мы сталкиваемся с различным поведением при запуске нашего процесса .NET 3.5 в двух средах.Могут ли быть различия между .NET 4 и .NET 3.5 при запуске .NET 3.5 процесса

Один имеет установленный .NET 4, а другой имеет только 3,5

Наше приложение компилируется против .NET 3.5 библиотек.

Могут ли (или должны быть) какие-либо различия в поведении в этом сценарии?

Какая среда исполнения используется, когда процесс 3.5 запускается на машине с .net 4?

ответ

3

Без какой-либо дополнительной спецификации процесс использует среду выполнения .NET 4.0. Вы можете изменить это поведение, установив supported runtime version в файл конфигурации приложения вашего приложения.

<configuration> 
<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v2.0.50727"/> 
</startup> 
</configuration> 

Этот параметр даст указание использовать среду выполнения .NET 2.0.

+0

Итак, среда выполнения .NET 4.0 выполняет мой 3.5-процесс? это верно? –

+0

Да. Вы можете проверить это с помощью Process Explorer Sysinternals, какая версия CLR содержит ваше приложение – Jehof

1

.Net 4.0 имеет все, что доступно с 3.5, и имеет некоторые добавленные библиотеки. Когда ваш. Приложение Net 3.5 работает в .Net 4.0, оно потребляет только те библиотеки, которые необходимы для запуска вашего приложения. Таким образом, нет проблем, имеет ли система 3.5 или 4.0 фреймворк.

+0

Это касается только БИБЛИОТЕК. Как насчет времени выполнения? (содержит ли он исправления/улучшенную производительность/другие изменения, которые могут повлиять на выполнение кода?) –

Смежные вопросы