Инсталлятор .NET Framework 4.0 также устанавливает .NET 3.5? - PullRequest
4 голосов
/ 15 апреля 2010

.NET 4.0 предназначен для параллельного запуска с 3.5 и не будет запускать приложения 3.5, что заставляет меня беспокоиться о том, что я должен проинструктировать своих пользователей загружать .NET 3.5 вместо «последней версии».

Я читал в блоге, что установщик 4.0 также установит 3.5, если он еще не установлен, но я не могу проверить его прямо сейчас, кто-нибудь пробовал или получил ответ из надежного источника?

Ответы [ 2 ]

5 голосов
/ 15 апреля 2010

Нет, установщик .NET 4.0 будет устанавливать только версию 4. Он будет запускать приложения, ориентированные на CLR версии 2 (например, приложения 3.5), если не установлена ​​другая версия платформы. Конечно, вы должны протестировать этот сценарий, чтобы убедиться, что изменения версии 4 не имеют неожиданных побочных эффектов. Сделайте это, создав или отредактировав файл .exe.config для своего приложения:

<configuration>
  <startup>
    <supportedRuntime version="v4.0.30319"/>
  </startup>
</configuration>

Обратите внимание, что при этом нельзя использовать отладчик VS2008.

1 голос
/ 15 апреля 2010

Я смог протестировать его в .NET 4.0 only box, и он не запустился «из коробки» (не смог найти ошибку версии во время выполнения), но ваш ответ заставил меня искать эти файлы конфигурации, и я нашел способ заставить это работать на 3.5, когда доступно, но отступить к 4.0. Это код, если у кого-то еще есть такая же проблема:

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