.NET Framework 4 更新

  • Jonathan Allen
  • 王瑜珩

2011 年 7 月 6 日

话题:.NETHTML5语言 & 开发

7 月 11 号.NET 4 发布了新版本。这个版本包含了众多补丁和特性,包括 HTML5 和对移植库的支持,有些内容之前也曾单独发布过。为了方便阅读,我们按照技术进行了归类。读者可以从 KB2468871 获得完整的列表和文件版本信息

General

  • 发送含有大于 3 兆附件的邮件会失败

WPF

  • 在进行数据绑定时,如果数据源对象定义在控件命名空间之外时,WPF 程序会崩溃
  • 右键菜单有时会距离鼠标非常远
  • 当应用程序读取.ttf 文件时,文字显示不正确,还会出现非法访问,然后程序崩溃
  • 在多点触摸屏上进行触摸操作时,程序崩溃,或者.vshost.exe 进程崩溃。例如,当你滚动滚动条时,程序崩溃。
  • 在使用.NET 4 版 WPF 构建的程序中,如果在 tab 控件中设置文本格式,同时操作滚动条,程序会变得迟缓。

Visual Studio

  • MSB4014:由于内部错误,意外终止构建
  • 当插件程序在后台遍历项目时,Visual Studio 2010 可能会崩溃
  • 从睡眠模式中唤醒后,造成内存泄露
  • 在 Pending Changes 窗口中做多选操作时,Visual Studio IDE 消失,并弹出 Dr. Watson 错误。
  • 当 Entity Data Model 引用一个数据库项目时,C# 和 VB 项目无法运行,调试模式也无法工作。
  • 当从 Cassini 请求.xap 文件时,响应的 MIME 类型不是 application/x-silverlight-app,而是 application/octet-stream。
  • 在 Visual Studio 2010 中,如果将调试器连接到 sqlserver.exe 进程,在托管 SQL 函数或托管存储过程上设置断点,符号文件会被正确加载,红色标记也会出现,但是断点却不起作用。

Visual Basic

  • 在 VB 项目中使用 My 作为命名空间时,如果显式添加对 Microsoft.VisualBasic.dll 的引用,My 命名空间将不起作用。
  • 当在没有安装 VB 运行时的操作系统上运行含有 VB Core 程序集的 VB 程序时,如果这个程序在类型为 Object 的变量上使用了 SyncLock 语句,将会出现错误信息:请求的操作无效,函数'Microsoft.VisualBasic.CompilerServices.ObjectFlowControl.CheckForSyncLockOnValueType'未定义。

ASP.NET

  • 在使用 Server Core 配置的服务器上,托管 targetFramework 属性设置为.NET 框架的网页时,发生解析错误。
  • 当客户端请求.asmx 或.svc 文件中定义的 RESTful Web service 时,如果此 Web service 使用了 ASP.NET 管道和非基于扩展名的 URL 处理,请求的状态可能会被错误的修改。
  • 在.NET 4 中,Application_Start 和 PreAppStart 方法无法访问 HttpUtility.HtmlEncode 方法和相关 API
  • 使用 SQL provider 时,垃圾回收线程抛出异常
  • 运行 ASP.NET 程序时,显示错误信息:HttpContext.User 应该是一个 MyWindowsPrincipal。
  • 当 Web 应用程序在一台计算机上开发,而在另一台计算机上部署时,如果使用 Visual Studio 2010 调试这个应用,由于缺少符号和程序集,将无法显示托管方法。
  • Plan 9 MVC 是一个基于 ASP.NET MVC 的项目,比 ASP.NET 更新的更频繁。由于从版本 2 开始,不再设置为完全授权,所以那些需要完全授权的功能将无法正常使用。此次更新修正了这个问题,将后续版本重新设置为完全授权。

New Features

  • ASP.NET 在开发模式中支持多种 IIS 配置,在 Visual Studio Web Designer 中可以设置不同的项目使用不同版本的 IIS。
  • ASP.NET 对 Shared Web Hosting 进行了优化,当缓存的程序集以符号链接的形式实现时,如果链接本身是合法的,将不会检查程序集的大小。
  • 使用新语法创建 HTML5 兼容的 TextBox 控件。例如,下面的代码定义了 HTML5 兼容的 TextBox:<asp:TextBox runat="server" type="some-HTML5-type" />
  • 添加了 VB 编译器选项,可以让服务器端控件生成 HTML5 友好的 HTML。例如:<asp:textbox runat="server" type="some-HTML5-type" ></asp:textbox>
  • 在.NET 之前的版本中,所有 VB 程序都会自动添加对 Microsoft.VisualBasic.dd 的依赖。此次更新后,可以使用命令行参数去除对此文件的依赖。消除依赖后,文件中的一些功能将会被嵌入到程序之中,其他功能则无法使用。
  • 对移植库进行了修改,包括 API 和绑定。此次更新可以让 CLR 与移植库进行绑定,以便单个 DLL 可以同时运行于.NET 4、Silverlight、XBox 和 Windows Phone 中。公有 Silverlight API 也被添加到.NET 4 的相同位置。API 签名在不同平台保持一致。所有的修改都完全兼容,不会影响任何以后代码。
  • 扩展了编译 Silverlight 5 XAML 文件所需的移植库文件。

查看英文原文Update to .NET Framework 4

.NETHTML5语言 & 开发