Unterschiede zwischen Microsoft .NET 4.0 Full Framework und Client Profile


360

Das vollständige Microsoft .NET Framework 4.0-Installationsprogramm (32- und 64-Bit) ist 48,1 MB groß und das Clientprofil-Installationsprogramm ist 41,0 MB groß. Die extrahierten Installationsdateien sind 237 MB bzw. 194 MB und nach der Installation 537 MB und 427 MB groß.

Dies ist ein Unterschied von 110 MB. Welchen Unterschied gibt es zwischen den beiden Paketen?

Wann ist es vorzuziehen, das Client-Profil anstelle des vollständigen .NET Framework zu installieren?


52
Ein Unterschied von 7,1 MB? Entwickler sind frustriert über Kompilierungsfehler, weil Microsoft der Meinung war, dass es sich lohnt, 7,1 MB in zwei Teile zu teilen. Genial.
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? Das ist nur der Installer . Im ausgepackten Zustand sind es 43 MB mehr. Sobald es installiert ist, sind es 110 MB mehr. Sie können eingebettete oder unauffällige Systeme vergessen. Kosten und Architektur sind nicht die einzigen Gründe, warum Rπ Windows nicht unterstützt.
Synetech

Antworten:


365

Was ist neu in .NET Framework 4 Client Profile RTM? viele der Unterschiede:

Wann wird das NET4-Clientprofil und wann das NET4 Full Framework verwendet?
NET4-Clientprofil:
Ziel ist immer das NET4-Clientprofil für alle Ihre Client-Desktopanwendungen (einschließlich Windows Forms und WPF-Apps).

NET4 Vollständiges Framework:
Ziel NET4 Full nur, wenn die Funktionen oder Assemblys, die Ihre App benötigt, nicht im Client-Profil enthalten sind. Das beinhaltet:

  • Wenn Sie Server-Apps erstellen. Sowie:
    o ASP.Net-Apps
    o Serverseitige ASMX-basierte Webdienste
  • Wenn Sie ältere Client-Szenarien verwenden. Sowie:
    o Verwenden Sie System.Data.OracleClient.dll, das in NET4 veraltet und nicht im Client-Profil enthalten ist.
    o Verwenden Sie ältere Windows Workflow Foundation 3.0 oder 3.5 (WF3.0, WF3.5).
  • Wenn Sie auf Entwicklerszenarien abzielen und Tools wie MSBuild benötigen oder Zugriff auf Entwurfsbaugruppen wie System.Design.dll benötigen

Wie auf MSDN angegeben , ist dies jedoch nicht relevant für> = 4,5:

Ab .NET Framework 4.5 wurde das Clientprofil eingestellt und es ist nur das vollständige weiterverteilbare Paket verfügbar. Durch die von .NET Framework 4.5 bereitgestellten Optimierungen, wie z. B. eine geringere Downloadgröße und eine schnellere Bereitstellung, ist kein separates Bereitstellungspaket erforderlich. Die einzelne weiterverteilbare Methode optimiert den Installationsprozess und vereinfacht die Bereitstellungsoptionen Ihrer App.


12
Dieser Blogeintrag spricht auch über die verschiedenen Framework-Dateigrößen: hanselman.com/blog/…
M. Dudley

56

Sie sollten "Client-Profil" anstelle von "Full Framework" in einem Unternehmen meistens nur in einem Fall bereitstellen: Sie möchten ausdrücklich ablehnen, dass einige .NET-Funktionen auf den Client-Computern ausgeführt werden. Der einzige wirkliche Fall besteht darin, ASP.NET auf den Clientcomputern des Unternehmens zu verweigern , beispielsweise aus Sicherheitsgründen oder aufgrund der vorhandenen Unternehmensrichtlinien.

Das Speichern von weniger als 8 MB auf dem Client-Computer kann kein schwerwiegender Grund für die Bereitstellung des "Client-Profils" in einem Unternehmen sein. Das Risiko, dass das "Full Framework" später im Unternehmen bereitgestellt werden muss, ist höher als die Kosten von 8 MB pro Client.


Der Link in Camerons Antwort gibt eine Reihe von Gründen an.
Ade Miller

13
@Ade. Natürlich sprechen wir alle über die gleichen Dinge. Die Unterschiede zwischen zwei Paketen sind bekannt. Ich möchte nur klar sagen, dass der einzige schwerwiegende Grund für die Verwendung von "Client-Profil" die Anforderung ist, ASP.NET auf den Client-Computern zu verweigern . Alle anderen technischen Details sind nicht wirklich wichtig.
Oleg

1
Saving of less then 8 MB… Das ist nur der Installer; Nach der Installation sind es noch 110 MB.
Synetech

2
110Mb-8Mb in diesem Alter von 1-TB-Laufwerken usw. Wen interessiert das?
Liam

1
@Oleg, Wenn Ihre Antwort wahr ist, warum unterstützt .NET 4.5 ab Client Client Profile dann nicht mehr?
Pacerier

48

Eine Liste der Assemblys finden Sie unter Assemblies im .NET Framework-Clientprofil auf MSDN (die Liste ist zu lang, um sie hier aufzunehmen).

Wenn Sie mehr an Funktionen interessiert sind, listet .NET Framework Client Profile auf MSDN Folgendes auf:

  • Common Language Runtime (CLR)
  • ClickOnce
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Entity Framework
  • Windows Workflow Foundation
  • Rede
  • XSLT-Unterstützung
  • LINQ zu SQL
  • Laufzeitdesignbibliotheken für Entity Framework und WCF Data Services
  • Managed Extensibility Framework (MEF)
  • Dynamische Typen
  • Funktionen für die parallele Programmierung, z. B. Task Parallel Library (TPL), Parallel LINQ (PLINQ) und Coordination Data Structures (CDS)
  • Debuggen von Clientanwendungen

Und Folgendes wird nicht berücksichtigt:

  • ASP.NET
  • Erweiterte WCF-Funktionalität (Windows Communication Foundation)
  • .NET Framework Data Provider für Oracle
  • MSBuild zum Kompilieren

20

Cameron MacFarland hat es geschafft.

Ich möchte hinzufügen, dass das .NET 4.0-Clientprofil in Windows Update und zukünftigen Windows-Versionen enthalten sein wird. Erwarten Sie, dass die meisten Computer das Clientprofil und nicht das vollständige Profil haben. Unterschätzen Sie diese Tatsache nicht, wenn Sie B2C-Verkäufe ( Business-to-Consumer ) tätigen .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.