Различия между полной платформой Microsoft .NET 4.0 и профилем клиента

360

Полный установщик Microsoft .NET Framework 4.0 (32- и 64-разрядный) составляет 48,1 МБ, а установщик профиля клиента - 41,0 МБ. Извлеченные установочные файлы имеют размер 237 МБ и 194 МБ соответственно, а после установки они составляют 537 МБ и 427 МБ.

Это разница в 110 МБ. Какая разница между этими двумя пакетами?

Когда предпочтительнее установить клиентский профиль вместо полной .NET Framework?

Нажмите Ok
источник
52
Разница в 7,1 МБ? Разработчики разочарованы ошибками компиляции, потому что Microsoft думала, что 7,1 МБ стоило разделить их на две части? Потрясающие.
Джелтон
13
A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? Это просто установщик . В распакованном виде это на 43 МБ больше. Как только это установлено, это - 110 МБ больше. Вы можете забыть о встроенных или низкопрофильных системах; стоимость и архитектура - не единственные причины, по которым Rπ не поддерживает Windows.
Synetech

Ответы:

365

Что нового в .NET Framework 4 Client Profile RTM объясняет многие различия:

Когда использовать NET4 Client Profile и когда использовать NET4 Full Framework?
Профиль клиента NET4:
всегда выбирайте профиль клиента NET4 для всех приложений клиентского компьютера (включая приложения Windows Forms и WPF).

NET4 Full framework:
Целевая NET4 Full, только если функции или сборки, которые нужны вашему приложению, не включены в профиль клиента. Это включает в себя:

  • Если вы создаете серверные приложения. Такие как:
    o Приложения ASP.Net
    o Серверные веб-сервисы на основе ASMX
  • Если вы используете устаревшие клиентские сценарии. Например:
    o Используйте System.Data.OracleClient.dll, которая устарела в NET4 и не включена в профиль клиента.
    o Использовать устаревшую версию Windows Workflow Foundation 3.0 или 3.5 (WF3.0, WF3.5)
  • Если вы нацелены на сценарии разработчика и вам нужен инструмент, такой как MSBuild, или вам нужен доступ к сборочным проектам, таким как System.Design.dll

Однако, как указано в MSDN , это не относится к> = 4.5:

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

Кэмерон МакФарланд
источник
12
Эта запись в блоге также рассказывает о различных размерах файлов фреймворка: hanselman.com/blog/…
М. Дадли,
56

Вы должны развернуть «Профиль клиента» вместо «Полный каркас» внутри корпорации в основном только в одном случае: вы хотите явно отрицать, что некоторые функции .NET работают на клиентских компьютерах. Единственный реальный случай - отказ в ASP.NET на клиентских компьютерах корпорации, например, из-за соображений безопасности или существующей корпоративной политики.

Экономия менее 8 МБ на клиентском компьютере не может быть серьезной причиной развертывания «Профиль клиента» в корпорации. Риск необходимости развертывания «Full Framework» в дальнейшем в корпорации выше, чем затраты на 8 МБ на одного клиента.

Олег
источник
Ссылка в ответе Кэмерона указывает на множество причин.
Аде Миллер
13
@Ade. Конечно, мы говорим об одних и тех же вещах. Различия между двумя пакетами хорошо известны. Хочу только однозначно сказать, что единственной серьезной причиной использования «Client Profile» является требование запретить ASP.NET на клиентских компьютерах. Все остальные технические детали не очень важны.
Олег
1
Saving of less then 8 MB… Это только установщик; это еще 110 МБ после установки.
Synetech
2
110Mb-8Mb в этом возрасте 1Tb дисков и т. Д. Кого это волнует?
Лиам
1
@ Олег, если ваш ответ верный, то почему .NET 4.5 и более поздних версий больше не поддерживает профиль клиента?
Pacerier
48

Список сборок доступен в разделе Сборки в клиентском профиле .NET Framework на MSDN (этот список слишком длинный, чтобы включать его здесь).

Если вас больше интересуют функции, в клиентском профиле .NET Framework на MSDN перечислено следующее:

  • общеязыковая среда выполнения (CLR)
  • ClickOnce
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Entity Framework
  • Windows Workflow Foundation
  • речь
  • Поддержка XSLT
  • LINQ to SQL
  • Библиотеки дизайна среды выполнения для Entity Framework и служб данных WCF
  • Структура управляемой расширяемости (MEF)
  • Динамические типы
  • Функции параллельного программирования, такие как Task Parallel Library (TPL), Parallel LINQ (PLINQ) и Структуры данных координации (CDS)
  • Отладка клиентских приложений

И следующее как не включенное:

  • ASP.NET
  • Расширенная функциональность Windows Communication Foundation (WCF)
  • Поставщик данных .NET Framework для Oracle
  • MSBuild для компиляции
Ричард Сзалай
источник
20

Кэмерон Макфарланд прибил его.

Я хотел бы добавить, что клиентский профиль .NET 4.0 будет включен в Центр обновления Windows и будущие выпуски Windows. Ожидайте, что большинство компьютеров будет иметь профиль клиента, а не полный профиль. Не стоит недооценивать этот факт, если вы занимаетесь продажами бизнес-потребитель (B2C).

Саймон П.
источник