2011-01-13 2 views
9

У меня есть код/​​поддержка приложения, построенного на платформе .NET, которая всегда работает на .NET 2. В этом году мы обновляем приложение для использования .NET 3.5 (или 4?).Каким образом автономный установщик .NET framework 3.5 на 200 МБ больше, чем автономный установщик .NET 4?

При подготовке к этому изменению мы заметили, что автономный установщик (необходимый для нашей клиентской базы) для .NET 3.5 на 200+ Мбайт больше, чем автономный установщик .NET 4.

Вот мои вопросы.

Почему установщик dotnet 3.5 намного больше, чем 4 автономных установщика?

Можем ли мы TARGET .NET 3.5, но распространять .NET 4. Другими словами, совместим ли .NET 4 с обратной совместимостью? Предполагая, что .NET 4 является единственным установленным .NET-приложением, все еще предназначенным для ранних фреймворков?

Если наше приложение скомпилировано для процессора x86 (а не для любого процессора), вам все равно придется распространять профиль клиента x64/x86 или мы можем просто распространять профиль клиента x86? Другими словами, можно ли распространять профиль клиента x86, даже если он будет установлен на компьютерах x64, если наше приложение будет скомпилировано для целевого процессора x86? Любые риски или ошибки для этого?

Проблема в том, что если мы обновим наше приложение до целевого .NET 4, у нас также будет много обновлений, что также потребует обновления, что влияет на ряд других приложений. Есть предположения?

Сет

+1

хороший вопрос, я тоже задавался вопросом: – Tom

ответ

3

.NET 3.5 полностью обратно совместим с .NET 3.0 и .NET 2.0 - таким образом, он включает в себя все из этих двух предыдущих версий, а также. .NET 4.0, с другой стороны, начинается с нуля и может отказаться от устаревшего/ненужного кода. Это также означает, что .NET 4.0 не может запускать код .NET 3.5 без изменений - есть еще SO answer on some of the breaking changes there.

+0

Это неточно, нет отдельных версий сборок. Все базовые сборки от 2.0 до 3.5 SP1 имеют версию сборки 2.0.0.0 –

+1

@ Действительно. Вот почему я сказал, что 3.5 включает все предыдущие версии (версия фреймворка имеет мало общего с версиями сборки) – bdonlan

8

Это из-за предпосылок. Программа установки .NET 4.0 требуется целевая машина будет обновлена ​​

  • XP SP3
  • Vista SP1
  • Server 2003 SP2
  • Server 2008 или Win7

Установщик 3.5 SP1 гораздо более мягкий, он может даже работать на исходной версии XP. Для выполнения этой работы необходимо включить обновления многих основных компонентов Windows. Значительная часть этого 231 МБ-установщика на самом деле не является компонентами .NET.

Также примечательно, что в .NET 4.0 разница между профилем клиента и полной версией в значительной степени исчезла. Полная версия только на 15% больше, нет особого смысла в настройке профиля клиента.

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