ChatGPT解决这个技术问题 Extra ChatGPT

.NET Framework 4.0 客户端配置文件与 .NET Framework 4.0

当我在 VS2010 中启动新的 .NET 控制台应用程序时,默认情况下目标框架设置为 .NET Framework 4.0 客户端配置文件,.NET Framework 4.0 和 .NET Framework 4.0 客户端配置文件有什么区别

我确实注意到,如果我在我的项目中以 .Net Framework 4.0 客户端配置文件为目标,我无法使用针对 .NET Framework 4.0 编译的程序集。

M
Malartre

直接来自微软城堡:

它是什么:.NET Framework 4 客户端配置文件是针对客户端应用程序优化的 .NET Framework 4 的子集。它为大多数客户端应用程序提供功能,包括 Windows Presentation Foundation (WPF)、Windows Forms、Windows Communication Foundation (WCF) 和 ClickOnce 功能。

原因:这为面向 .NET Framework 4 客户端配置文件的应用程序提供了更快的部署和更小的安装包。

.NET Framework 客户端配置文件:
http://msdn.microsoft.com/en-us/library/cc656912.aspx


但完整的 .NET 4.0 框架并不比客户端配置文件大多少。 (48 MB 对 41 MB)。那么我为什么要使用 .NET 客户端配置文件呢?如果大小是唯一的区别,那么使用它是没有意义的。
附带说明:我正在使用一些基于 2.0 的旧 3rd 方库(公司太便宜而无法获得当前版本)。使用客户端配置文件,它不会加载库。与完整的框架一起工作得很好。
@BitKFu 这只是安装程序的大小。一旦安装到您的硬盘上,完整的 .NET 4.0 框架占用的空间比 .NET 4.0 框架客户端配置文件多 110MB。
K
KyleMit

客户端配置文件尝试将引用的程序集限制为仅对客户端应用程序感兴趣的程序集。例如,默认情况下它不会使 System.Web 可用,因为它通常对客户端应用程序没有价值。

目的是将 Visual Studio 体验限制为完成应用程序所需的体验。


S
S.L. Barth

来自微软 MSDN

以 .NET Framework 客户端配置文件为目标的项目模板

Visual Studio 2010 中的多个项目模板以 .NET Framework 4 客户端配置文件为目标。以下是 Visual Studio 2010 中默认面向 .NET Framework 4 客户端配置文件的项目模板列表。默认情况下,所有其他项目都以 .NET Framework 4 为目标。

视窗

WPF 应用程序

WPF 浏览器应用程序

WPF 自定义控件库

WPF 用户控件库

Windows 窗体应用程序

Windows 窗体控件库

控制台应用程序

空项目

窗口服务

办公室

所有 Office 2007 和 Office 2010

项目模板

WCF

WCF 服务库

工作流程

活动设计器库

活动库

工作流控制台应用程序

视觉 F#

F# 应用程序

F# 教程


X
XP1

请注意 .NET Framework 客户端配置文件中没有的功能。

.NET Framework 4 客户端配置文件不包括以下功能。您必须安装 .NET Framework 4 才能在您的应用程序中使用这些功能:

ASP.NET

高级 Windows Communication Foundation (WCF) 功能

适用于 Oracle 的 .NET Framework 数据提供程序

用于编译的 MSBuild