ChatGPT解决这个技术问题 Extra ChatGPT

Differences between Microsoft .NET 4.0 full Framework and Client Profile

The Microsoft .NET Framework 4.0 full installer (32- and 64-bit) is 48.1 MB and the Client Profile installer is 41.0 MB. The extracted installation files are 237 MB and 194 MB respectively, and once installed, they are 537 MB and 427 MB.

This is a difference of 110 MB. What difference is there between the two packages?

When is it preferable to install the Client Profile instead of the full .NET Framework?

A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? Awesome.
A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? That’s just the installer. When unpacked, it’s 43MB more. Once it’s installed, it’s 110MB more. You can forget about embedded or low-profile systems; cost and architecture aren’t the only reasons Rπ doesn’t support Windows.

C
Callum Watkins

What's new in .NET Framework 4 Client Profile RTM explains many of the differences:

When to use NET4 Client Profile and when to use NET4 Full Framework? NET4 Client Profile: Always target NET4 Client Profile for all your client desktop applications (including Windows Forms and WPF apps). NET4 Full framework: Target NET4 Full only if the features or assemblies that your app need are not included in the Client Profile. This includes: If you are building Server apps. Such as: o ASP.Net apps o Server-side ASMX based web services If you use legacy client scenarios. Such as: o Use System.Data.OracleClient.dll which is deprecated in NET4 and not included in the Client Profile. o Use legacy Windows Workflow Foundation 3.0 or 3.5 (WF3.0 , WF3.5) If you targeting developer scenarios and need tool such as MSBuild or need access to design assemblies such as System.Design.dll

However, as stated on MSDN, this is not relevant for >=4.5:

Starting with the .NET Framework 4.5, the Client Profile has been discontinued and only the full redistributable package is available. Optimizations provided by the .NET Framework 4.5, such as smaller download size and faster deployment, have eliminated the need for a separate deployment package. The single redistributable streamlines the installation process and simplifies your app's deployment options.


This blog entry also talks about the different framework file sizes: hanselman.com/blog/…
C
Community

You should deploy "Client Profile" instead of "Full Framework" inside a corporation mostly in one case only: you want explicitly deny some .NET features are running on the client computers. The only real case is denying of ASP.NET on the client machines of the corporation, for example, because of security reasons or the existing corporate policy.

Saving of less than 8 MB on client computer can not be a serious reason of "Client Profile" deployment in a corporation. The risk of the necessity of the deployment of the "Full Framework" later in the corporation is higher than costs of 8 MB per client.


The link in Cameron's answer specifies a bunch of reasons.
@Ade. Of cause we are speaking all about the same things. The differences between two packages are well known. I want only clear say, that the only serious reason of usage of "Client Profile" is the requirement to deny ASP.NET on the client computers. All other technical details are not really important.
Saving of less then 8 MB… That’s only the installer; it’s 110MB more once installed.
110Mb-8Mb in this age of 1Tb drives, etc. who cares?
@Oleg, If your answer is true, then why does .NET 4.5 onwards no longer support Client Profile?
R
Richard Szalay

A list of assemblies is available at Assemblies in the .NET Framework Client Profile on MSDN (the list is too long to include here).

If you're more interested in features, .NET Framework Client Profile on MSDN lists the following as being included:

common language runtime (CLR)

ClickOnce

Windows Forms

Windows Presentation Foundation (WPF)

Windows Communication Foundation (WCF)

Entity Framework

Windows Workflow Foundation

Speech

XSLT support

LINQ to SQL

Runtime design libraries for Entity Framework and WCF Data Services

Managed Extensibility Framework (MEF)

Dynamic types

Parallel-programming features, such as Task Parallel Library (TPL), Parallel LINQ (PLINQ), and Coordination Data Structures (CDS)

Debugging client applications

And the following as not being included:

ASP.NET

Advanced Windows Communication Foundation (WCF) functionality

.NET Framework Data Provider for Oracle

MSBuild for compiling


P
Peter Mortensen

Cameron MacFarland nailed it.

I'd like to add that the .NET 4.0 client profile will be included in Windows Update and future Windows releases. Expect most computers to have the client profile, not the full profile. Do not underestimate that fact if you're doing business-to-consumer (B2C) sales.