Відмінності між повним фреймворком Microsoft .NET 4.0 та профілем клієнта


360

Повний інсталятор Microsoft .NET Framework 4.0 (32- та 64-розрядний) становить 48,1 Мб, а програма встановлення профілю клієнта - 41,0 Мб. Витягнуті інсталяційні файли відповідно 237 Мб та 194 Мб, а після встановлення вони становлять 537 Мб та 427 МБ.

Це різниця в 110 МБ. Яка різниця між двома пакетами?

Коли бажано встановити профіль клієнта замість повної .NET Framework?


52
Різниця в 7,1 Мб? Розробники засмучуються помилками компіляції, оскільки Microsoft вважає, що 7,1 Мб варто розділити на два? Дивовижно.
JYelton


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 Профілі клієнта RTM пояснює багато відмінностей:

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

NET4 Повна рамка:
Націляйте на NET4 Повний лише в тому випадку, якщо функції або збірки, необхідні вашій програмі, не включені в профіль клієнта. Це включає:

  • Якщо ви створюєте серверні програми. Такі як:
    o програми ASP.Net
    або веб-сервіси на базі 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 Мб на клієнтському комп'ютері не може бути серйозною причиною розгортання "Профіля клієнта" в корпорації. Ризик необхідності розгортання "Повної рамки" пізніше в корпорації вище, ніж витрати в 8 МБ на клієнта.


Посилання у відповіді Камерона вказує купу причин.
Аде Міллер

13
@Ade. Адже ми говоримо все про одне й те саме. Відмінності між двома пакетами добре відомі. Я хочу лише чітко сказати, що єдиною серйозною причиною використання "Профіля клієнта" є вимога заборонити ASP.NET на клієнтських комп'ютерах. Всі інші технічні деталі насправді не важливі.
Олег

1
Saving of less then 8 MB… Ось тільки інсталятор; це вже більше 110 Мб після встановлення.
Synetech

2
110Mb-8Mb у цьому віці 1Tb накопичувачів тощо, кому все одно?
Ліам

1
@Oleg, якщо ваша відповідь вірна, то чому .NET 4.5 і далі не підтримує профіль клієнта?
Pacerier

48

Перелік складок доступний на Асамблеї в профілі клієнтів .NET Framework в MSDN (список занадто довгий, щоб включити сюди).

Якщо вас більше цікавлять функції, .NET Framework Client Profile в MSDN перераховує такі:

  • загальна мова виконання (CLR)
  • ClickOnce
  • Форми Windows
  • Фонд презентацій Windows (WPF)
  • Фонд комунікації Windows (WCF)
  • Entity Framework
  • Фонд робочого процесу Windows
  • Виступ
  • Підтримка XSLT
  • LINQ в SQL
  • Бібліотеки дизайну виконання для Entity Framework та WCF Data Services
  • Рамка керованого розширення (MEF)
  • Динамічні типи
  • Функції паралельного програмування, такі як Бібліотека паралельних завдань (TPL), Паралельна LINQ (PLINQ) та Координаційні структури даних (CDS)
  • Налагодження клієнтських програм

І таке, що не включається:

  • ASP.NET
  • Розширений функціонал Windows Communication Foundation (WCF)
  • Провайдер даних .NET Framework для Oracle
  • MSBuild для складання

20

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.