微软将于 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))。
评论