Różnice między pełną platformą Microsoft .NET 4.0 a profilem klienta


360

Pełny instalator Microsoft .NET Framework 4.0 (32- i 64-bitowy) ma 48,1 MB, a instalator profilu klienta 41,0 MB. Rozpakowane pliki instalacyjne mają odpowiednio 237 MB i 194 MB, a po zainstalowaniu mają 537 MB i 427 MB.

To różnica 110 MB. Jaka jest różnica między tymi dwoma pakietami?

Kiedy lepiej zainstalować profil klienta zamiast pełnego .NET Framework?


52
Różnica 7,1 MB? Programiści są sfrustrowani błędami kompilacji, ponieważ Microsoft uważał, że 7,1 MB jest warte podzielenia go na dwie części? Niesamowite.
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? To tylko instalator . Po rozpakowaniu jest o 43 MB więcej. Po zainstalowaniu jest o 110 MB więcej. Możesz zapomnieć o systemach wbudowanych lub niskoprofilowych; koszt i architektura to nie jedyne powody, dla których Rπ nie obsługuje systemu Windows.
Synetech,

Odpowiedzi:


365

Co nowego w .NET Framework 4 Client Profile RTM wyjaśnia wiele różnic:

Kiedy używać profilu klienta NET4, a kiedy używać NET4 Full Framework?
Profil klienta NET4:
Zawsze należy kierować profil klienta NET4 dla wszystkich aplikacji klienckich (w tym formularzy Windows Forms i WPF).

NET4 Full framework:
docelowa wersja NET4 Full tylko wtedy, gdy funkcje lub zespoły potrzebne Twojej aplikacji nie są uwzględnione w profilu klienta. To zawiera:

  • Jeśli budujesz aplikacje serwera. Takich jak:
    o aplikacje ASP.Net
    o usługi sieciowe oparte na ASMX po stronie serwera
  • Jeśli korzystasz ze starszych scenariuszy klienta. Takich jak:
    o Użyj System.Data.OracleClient.dll, który jest przestarzały w NET4 i nie jest uwzględniony w profilu klienta.
    o Użyj starszej wersji Windows Workflow Foundation 3.0 lub 3.5 (WF3.0, WF3.5)
  • Jeśli celujesz w scenariusze programistyczne i potrzebujesz narzędzia takiego jak MSBuild lub potrzebujesz dostępu do zespołów projektowych, takich jak System.Design.dll

Jednak, jak podano w MSDN , nie ma to znaczenia dla> = 4.5:

Począwszy od wersji .NET Framework 4.5 profil klienta został wycofany i dostępny jest tylko pełny pakiet redystrybucyjny. Optymalizacje dostarczone przez .NET Framework 4.5, takie jak mniejszy rozmiar pobierania i szybsze wdrażanie, wyeliminowały potrzebę posiadania osobnego pakietu wdrożeniowego. Pojedynczy redystrybucyjny usprawnia proces instalacji i upraszcza opcje wdrażania aplikacji.


12
Ten wpis na blogu mówi także o różnych rozmiarach plików frameworka: hanselman.com/blog/…
M. Dudley

56

Powinieneś wdrożyć „Profil klienta” zamiast „Full Framework” wewnątrz korporacji głównie w jednym przypadku: chcesz wyraźnie zaprzeczyć, że niektóre funkcje .NET działają na komputerach klienckich. Jedynym prawdziwym przypadkiem jest odmowa ASP.NET na komputerach klienckich korporacji, na przykład ze względów bezpieczeństwa lub istniejących zasad korporacyjnych.

Oszczędność mniej niż 8 MB na komputerze klienckim nie może być poważnym powodem wdrożenia „profilu klienta” w korporacji. Ryzyko konieczności wdrożenia „Full Framework” później w korporacji jest wyższe niż koszty 8 MB na klienta.


Link w odpowiedzi Camerona podaje kilka powodów.
Ade Miller

13
@De. Bo mówimy o tych samych rzeczach. Różnice między dwoma pakietami są dobrze znane. Chcę tylko jasno powiedzieć, że jedynym poważnym powodem użycia „Profilu klienta” jest wymóg odmowy ASP.NET na komputerach klienckich. Wszystkie inne szczegóły techniczne nie są tak naprawdę ważne.
Oleg

1
Saving of less then 8 MB… To tylko instalator; po zainstalowaniu ma jeszcze 110 MB.
Synetech

2
110Mb-8Mb w dobie napędów 1Tb itp. Kogo to obchodzi?
Liam,

1
@Oleg, Jeśli twoja odpowiedź jest prawdziwa, to dlaczego .NET 4.5 i nowsze nie obsługują już profilu klienta?
Pacerier

48

Lista zestawów jest dostępna w Zestawach w profilu klienta .NET Framework w MSDN (lista jest za długa, aby ją tutaj uwzględnić).

Jeśli jesteś bardziej zainteresowany funkcjami, profil klienta .NET Framework w MSDN wymienia następujące elementy:

  • środowisko uruchomieniowe języka wspólnego (CLR)
  • ClickOnce
  • Formularze Windows
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Entity Framework
  • Windows Workflow Foundation
  • Przemówienie
  • Obsługa XSLT
  • LINQ do SQL
  • Biblioteki projektowe środowiska wykonawczego dla Entity Framework i WCF Data Services
  • Managed Extensibility Framework (MEF)
  • Typy dynamiczne
  • Funkcje programowania równoległego, takie jak Task Parallel Library (TPL), Parallel LINQ (PLINQ) i Coordination Data Structures (CDS)
  • Debugowanie aplikacji klienckich

Oraz, że nie zostały uwzględnione:

  • ASP.NET
  • Zaawansowana funkcjonalność Windows Communication Foundation (WCF)
  • .NET Framework Data Provider dla Oracle
  • MSBuild do kompilacji

20

Cameron MacFarland go przybił.

Chciałbym dodać, że profil klienta .NET 4.0 będzie zawarty w Windows Update i przyszłych wydaniach systemu Windows. Spodziewaj się, że większość komputerów ma profil klienta, a nie pełny profil. Nie lekceważ tego faktu, jeśli prowadzisz sprzedaż między przedsiębiorstwami a konsumentami (B2C).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.