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

Возможно, проблема здесь в том, что я не совсем понимаю различия между клиентским профилем .NET 4 и (обычной?) Версией .NET 4 ...

Когда я начинаю новый проект в Visual Studio 2010, по умолчанию используется целевая платформа .NET Framework 4 Client Profile. Иногда при использовании сторонней библиотеки я получаю ошибки компиляции, если мой проект настроен для клиентского профиля .NET Framework 4 - переход на .NET Framework 4 решает проблему.

Я всегда просто имел дело с этим, но сегодня я решил задать вопрос и понять, когда использовать одну вместо другой и почему существует две версии фреймворка.

РЕДАКТИРОВАТЬ: Если я нацелен на .NET 4, должен ли я беспокоиться о том, что обычный пользователь настольного компьютера не получит эту платформу через Центр обновления Windows?


person Michael Mankus    schedule 06.09.2012    source источник


Ответы (1)


Относительно вашего редактирования: взгляните здесь: .Net Framework 4 Full и Net Framework 4 Targeting Profile Targeting

В этом сообщении Скотта Хансельмана показано, что находится в профиле клиента, а что нет:

На пути к меньшей .NET 4 - Подробная информация о профиле клиента и загрузке .NET

  • Поддерживается на всех ОС, включая Full
  • Поддерживается для x86 и x64
  • Профиль клиента - это платформа, которая будет доступна в Центре обновления Windows для настольных компьютеров.
  • Поддерживается во всех аспектах VS (например, таргетинг, проект развертывания и т. Д.)
  • Является целью по умолчанию почти во всех шаблонах клиентских проектов VS10 (Winforms, WPF, VSTO и т. Д.)

Это самое забавное:

Общая идея состоит в том, что они избегают установки ненужных вещей на клиентскую машину. Это означает, что они не установят ASP.NET на компьютер вашей мамы только потому, что ей нужна игра. Кроме того, профиль клиента .NET 4 является правильным подмножеством «полной» платформы .NET 4.

Вот более подробная запись: Что нового в .NET Framework 4 Client Profile RTM

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

Полная платформа NET4
Целевой 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

Стоит отметить, что начиная с .NET 4.5 больше нет Client Profile. Его поддержка прекращена: http://msdn.microsoft.com/en-us/library/cc656912.aspx (ссылка предоставлена ​​CodingWithSpike)

person Leniel Maccaferri    schedule 06.09.2012
comment
+1 потому что я писал ту же ссылку, когда вы меня опередили :) - person CodingWithSpike; 06.09.2012
comment
По таким вопросам мы можем быть уверены, что Скотт Хансельман нас прикрыл ... :) - person Leniel Maccaferri; 06.09.2012