微软将停止支持.NET Framework 4.0、4.5 和 4.5.1

阅读数:8295 2016 年 1 月 10 日

话题:.NET语言 & 开发

微软将于 2016 年 1 月 12 日正式停止支持.NET Framework 的 4.0、4.5 和 4.5.1 版本。用户应该升级到更近的版本,比如稍微有点不兼容的.NET 4.5.2。

在我们继续后面的内容之前,有一点应该注意一下,就是这只影响 4.x 版本系列。对于更老的.NET 3.5 SP1 版本,微软还会继续支持。在这里,支持是指用户可以获得技术支持、安全更新和补丁。

兼容性

在升级到.NET 4.5.2 时,ASP.NET 开发人员可能会遇到兼容性问题。虽然被认为是一个安全风险,但开发人员先前可以通过在应用程序或页面层面将enableViewStateMac置为 false 来禁用视图状态消息认证码。现在不允许这样做了。

如果要将应用重新编译成.NET 4.5.2 应用程序,并使用DataObject.GetData读取剪切板,那么也会遇到问题:

对于面向.NET Framework 4 的应用或者运行在.NET Framework 4.5.1 及更早版本上的应用,DataObject.GetData 会将获取到的 HTML 格式的数据表示成 ASCII 字符串。因此,非 ASCII 字符(那些 ASCII 码大于 0x7F 的字符)会表示成两个随机字符。例如,é (0xE9) 会表示成é (0xC3 0xA9)。

对于面向.NET Framework 4.5 或更高版本的应用或者运行在.NET Framework 4.5.2 上的应用,DataObject.GetData 会将获取到的 HTML 格式的数据表示成 UTF-8,可以正确地表示大于 0x7F 的字符。

如果选择迁移到.NET 4.6,那么破坏性变更就更明显了。详情见.NET Framework 4.6 应用程序兼容性

Azure

如果你开启了自动升级,那么 Windows Azure Guest OS 将在 1 月份升级到.NET 4.5.2。

查看英文原文:Support Ending for the .NET Framework 4.0, 4.5 and 4.5.1 on Tuesday


感谢谢丽对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。