.NET 4.0和.NET 4.5在.NET高级方面的区别

87
渴望了解.NET 4.0和.NET 4.5在高层次上的区别,以及在这些框架中ASP.NET、C#的差异。

1
http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-834T - ervinbosenbacher
5个回答

64

.NET Framework 4.5.NET Framework 4.5 的新功能与预期:

  • 支持 Windows Runtime
  • 支持 Metro 风格应用
  • 支持异步编程
  • 垃圾回收器改进
  • 更快的 ASP.NET 启动
  • 更好的数据访问支持
  • 支持 WebSockets
  • Workflow 支持 - BCL 支持

这些框架中 ASP.NET 的差异

比较 ASP.NET 4 和 Visual Web Developer 中的新功能ASP.NET 4.5 和 Visual Studio 11 Beta 中的新功能:

Asp.net 4.0

  • Web.config 文件重构
  • 可扩展的输出缓存
  • 自动启动 Web 应用程序
  • 永久重定向页面
  • 缩小会话状态
  • 扩展可允许的 URL 范围
  • 可扩展请求验证
  • 对象缓存和对象缓存可扩展性
  • 可扩展的 HTML、URL 和 HTTP 标头编码
  • 单个工作进程中各应用程序的性能监视
  • 多目标
  • 等等

而 Asp.net 4.5 也有一长串的改进:

  • 异步读写HTTP请求和响应
  • HttpRequest处理的改进
  • 异步刷新响应
  • 支持await和基于任务的异步模块及处理程序

C#中的差异也存在这些框架中

请查看.NET Framework中的C# 4.0新特性Visual Studio 11 Beta中Visual C#的新增功能

编辑:
C#和VB文档中的不兼容之处:

VB: Visual Studio 2012中Visual Basic的不兼容之处

C#: Visual Studio 2012中Visual C#的不兼容之处

希望这可以帮助你找到你需要的内容.


C#语言表达式在WorkFlowFoundation中得到支持...很酷的功能 :) - KBBWrite
WPF和Silverlight在XAML上即时工作,而XAML设计器则在后台加载。 - Pradip
这些更改实际上是在哪里进行的?我刚刚将一个应用程序从4.0升级到4.6.2,并注意到它仍然引用mscorlib 4.0System.Data 4.0System.ServiceModel 4.0等等。所有引用仍然是4.0。 - xr280xr
@xr280xr:没有破坏性的更改会从框架类中删除库...这些仍然存在。 - Niranjan Singh

38

.NET Framework 4


2008年9月29日,微软宣布计划发布.NET Framework 4。公共测试版于2009年5月20日发布。

  • Parallel Extensions为多核或分布式系统提供支持以改进并行计算。为此,包括了PLINQ(Parallel LINQ)和Task Parallel Library等技术,后者通过方法调用公开并行结构。
  • 新增Visual Basic .NET和C#语言功能,例如隐式行连续、动态分派、命名参数和可选参数。
  • 支持代码合同。
  • 引入新类型以处理任意精度算法(System.Numerics.BigInteger)和复数(System.Numerics.Complex)。
  • 引入公共语言运行库(CLR)4.0。

在.NET Framework 4发布后,微软还发布了一组增强功能,称为Windows Server AppFabric,提供应用程序服务器能力的AppFabric Hosting和内存分布式缓存支持。


.NET Framework 4.5


.NET Framework 4.5于2012年8月15日发布,这个版本增加了一些新的或改进的功能。.NET Framework 4.5仅支持Windows Vista或更高版本,使用公共语言运行库4.0,并增加了一些附加的运行时特性。

1. .NET 用于 Metro 风格应用程序

Metro 风格应用程序是为特定形态因素设计的,利用 Windows 操作系统的强大功能。在 Windows 8 中使用 C# 或 Visual Basic 构建 Metro 风格应用程序时,可以使用 .NET Framework 的子集,称为应用程序的 .NET API。 用于 Metro 风格应用程序的 .NET Framework 版本、运行时和库属于新的 Windows 运行时的一部分,这是 Metro 风格应用程序的新平台和应用程序模型。它是一个生态系统,包括许多平台和语言,其中包括 .NET Framework、C++ 和 HTML5/JavaScript。

2. 核心功能

  • 限制正则表达式引擎在超时之前尝试解析正则表达式的时间。
  • 定义应用程序域的文化。
  • 支持 Unicode(UTF-16)编码的控制台。
  • 支持文化字符串排序和比较数据的版本控制。
  • 检索资源时性能更好。
  • 压缩文件的 Zip 压缩改进。
  • 使用 CustomReflectionContext 类自定义反射上下文以覆盖默认反射行为的能力。

3. 托管可扩展框架(MEF)

  • 支持泛型类型。
  • 基于约定的编程模型,可以根据命名约定而不是属性创建部分。
  • 多个作用域。

4. 异步操作

.NET Framework 4.5 中为 C# 和 Visual Basic 语言添加了新的异步功能。这些功能为执行异步操作添加了任务模型。

5. ASP.NET

  • 支持新的HTML5表单类型。
  • 在Web Forms中支持模型绑定器。这些绑定器允许您将数据控件直接绑定到数据访问方法,并自动转换用户输入为.NET Framework数据类型。
  • 客户端验证脚本中支持无侵入式JavaScript。
  • 通过捆绑和缩小文件以实现更好的页面性能,改进了客户端脚本的处理方式。
  • 整合了AntiXSS库(以前是外部库)中的编码例程,以防止跨站点脚本攻击。
  • 支持WebSocket协议。
  • 异步读取和写入HTTP请求和响应的支持。
  • 异步模块和处理程序的支持。
  • 在ScriptManager控件中支持内容分发网络(CDN)回退。

6. 网络

  • 提供了一个新的用于HTTP应用程序的编程接口:添加了System.Net.Http命名空间和System.Net.Http.Headers命名空间。
  • 其他改进: 改进了国际化和IPv6支持。 符合RFC的URI支持。 支持国际化域名(IDN)解析。 支持电子邮件地址国际化(EAI)。

7. Windows Presentation Foundation(WPF)

  • 新的Ribbon控件,可让您实现一个带有快速访问工具栏、应用程序菜单和选项卡的功能区用户界面。
  • 新的INotifyDataErrorInfo接口,支持同步和异步数据验证。
  • VirtualizingPanel和Dispatcher类的新特性。
  • 在显示大型分组数据集时提高了性能,并通过在非UI线程上访问集合来提高性能。
  • 绑定到静态属性、绑定到实现ICustomTypeProvider接口的自定义类型以及从绑定表达式检索数据绑定信息。
  • 当值改变时重新定位数据(实时整形)。
  • WPF和Win32用户界面组件之间更好的集成。
  • 能够检查项目容器的数据上下文是否已断开连接。
  • 能够设置在属性更改和数据源更新之间应该经过多长时间。
  • 支持实现弱事件模式的改进。此外,事件现在可以接受标记扩展。

8. Windows Communication Foundation(WCF)

在.NET Framework 4.5中,添加了以下功能,使编写和维护Windows Communication Foundation(WCF)应用程序更简单:

  • 简化生成的配置文件。
  • 支持契约优先开发。
  • 更轻松地配置ASP.NET兼容性模式的能力。
  • 更改默认传输属性值以减少您必须设置它们的可能性。
  • 更新XmlDictionaryReaderQuotas类,以减少手动配置XML字典读取器配额的可能性。
  • 在构建过程中由Visual Studio验证WCF配置文件,以便您可以在运行应用程序之前检测配置错误。
  • 新的异步流支持。
  • 新的HTTPS协议映射,使得在Internet Information Services(IIS)上公开端点更容易。
  • 通过在服务URL后附加?singleWSDL来在单个WSDL文档中生成元数据的能力。
  • Websockets支持,以实现真正的双向通信,使用80和443端口,并具有类似于TCP传输的性能特征。
  • 支持在代码中配置服务。
  • XML编辑器工具提示。
  • ChannelFactory缓存支持。
  • 二进制编码器压缩支持。
  • 支持UDP传输,使开发人员能够编写使用“fire and forget”消息的服务。客户端向服务发送消息,并且不期望服务响应。
  • 在使用HTTP传输和传输安全时,能够在单个WCF端点上支持多种身份验证模式的能力。
  • 支持使用国际化域名(IDN)的WCF服务。

9. 工具

  • 资源文件生成器(Resgen.exe)使您可以从嵌入在.NET Framework程序集中的.resources文件创建用于Windows Store应用程序的.resw文件。
  • 托管配置文件指导优化(Mpgo.exe)使您可以通过优化本机映像程序集来提高应用程序启动时间、内存利用率(工作集大小)和吞吐量。该命令行工具为本机映像应用程序集生成配置文件数据。

有关更多信息和参考链接,请访问:

===========.Net 4.5海报=========

进入图像描述


3
如果您在新标签页中打开海报图片http://i.stack.imgur.com/ORzl1.jpg,就可以链接到3k * 2k的海报。 - Iman

5

您可以在此处找到.NET Framework 4.5 beta的最新功能

以下是框架的变化类别:

  • 适用于 Metro 风格应用的 .NET
  • 可移植类库
  • 核心新特性和改进
  • 并行计算
  • Web
  • 网络
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF)

看起来您更感兴趣的是 Web 部分,因为这展示了ASP.NET 4.5的变化。其他的变化可以在其他标题下找到。

您还可以在此处查看.NET Framework 4.0发布时的一些新特性


3

虽然这个回答可能来的有点晚,但对于未来查看此主题的人还是很有用的。

以下链接中可见.NET Framework 4.5的功能:

总结如下:

  • 安装

    .NET Framework 4.5不支持Windows XP或Windows Server 2003,如果你需要创建针对这些操作系统的应用程序,则需要使用.NET Framework 4.0。相反,Windows 8和Windows Server 2012在所有版本中都包含.NET Framework 4.5。

  • 支持64位平台上大于2GB数组
  • 增强了背景服务器垃圾回收
  • 支持正则表达式计算中的超时
  • 在Windows 8上支持Unicode 6.0.0的区域敏感排序和大小写规则
  • 应用程序域中简单的默认文化定义
  • Windows 8应用程序中的国际化域名

0
这是来自微软的极好资源,其中包括了从1.0版本到现在每个.NET版本的高级功能概述。它还包括有关相关Visual Studio版本和Windows版本兼容性的信息。

.NET Framework版本和依赖关系


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接