Распространяемый .NET 3.5 — 200 МБ?Другие варианты?

StackOverflow https://stackoverflow.com/questions/6440

  •  08-06-2019
  •  | 
  •  

Вопрос

В последнее время я использую множество новых функций .NET 3.5 в своей работе.Приложение, которое я создаю, предназначено для распространения среди потребителей, у которых, вероятно, не будет последней версии (или, возможно любая версия) из .NET framework на своих машинах.

Я пошел, чтобы уйти загрузите распространяемый пакет .NET 3.5 только для того, чтобы узнать, что это почти 200 МБ! Это неприемлемо для моего приложения, потому что предполагается, что это быстрое и безболезненное потребительское приложение, которое быстро устанавливается и сохраняет низкий профиль на компьютере пользователя.Для пользователей, у которых уже установлена .NET 3.5, пока что наши двоичные файлы загружались мгновенно.Эта горилла объемом 200 МБ более чем в четыре раза увеличит размер загружаемого файла.Есть ли какой-либо другой вариант, кроме этого распространяемого пакета, который я могу использовать, чтобы убедиться, что платформа находится на компьютере, который не выведет пользователя из нашего "быстрого и безболезненного" рабочего процесса?Наше целевое время от начала загрузки до завершения установки составляет менее двух минут.Это просто невозможно для кого-то, у кого еще не установлен .NET?

Это было полезно?

Решение

Это одна из печальных причин, по которой я по-прежнему ориентируюсь на .net 2.0, когда это возможно :/

Но людям необязательно нужен полный пакет объемом 200 МБ.Существует загрузчик размером 3 МБ, который будет загружать только необходимые компоненты:

загрузчик .net 3.5 SP1

Тем не менее, наихудший сценарий - это все еще довольно большая загрузка.Кроме того, смотрите эта статья для получения более подробного объяснения размера и альтернативного решения проблемы размера.

Дополнение:После ответа на этот вопрос Скотт Хансельман создал SmallestDotNet.com, который определит наименьшую требуемую загрузку.Это не меняет наихудший сценарий, но все равно полезно знать.

Другие советы

Как только выйдет .NET Framework 3.5 SP1 (должно быть довольно скоро), появится второй вариант фреймворков, а именно "Профиль клиента", который представляет собой урезанный фреймворк, занимающий всего около 30 МБ памяти.Он не включает в себя все пространства имен и классы полной платформы, но теоретически этого должно быть достаточно для большинства распространенных приложений.При необходимости он может быть обновлен до полной версии framework (например.если обновление вашего программного обеспечения вводит новую зависимость)

Более подробную информацию смотрите здесь: Блог команды BCL

Вы смотрели профиль клиента .NET Framework?Он намного меньше, чем полный распространяемый пакет, и оптимизирован для предоставления только той функциональности, которая необходима для интеллектуальных клиентов.

Вот хороший обзор.

Я не знаю, сократит ли это время загрузки до двух минут или нет, но это должно сделать вас немного ближе.

Кроме того, стоит включить (каким-то образом) и загрузку пакета обновления.Фактически, в зависимости от того, как созданы ваши исполняемые файлы, вы можете быть вынуждены установить Фреймворк и пакеты обновления.

Для справки, .Net Framework 3.5 с пакетом обновления 1 требуется для установки Microsoft SQL Server 2008 и RTM'd примерно в то же время, что и релиз на этой неделе.Все еще сложная установка, но вы можете извлечь из нее профиль клиента.Просто не знаю, как это сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top