旧.NET应用:需迁移至受支持版本还是仅更新运行时?
.NET Framework与.NET Core停止支持后的处理方案
.NET Framework 4.6.1 应用的处理
- 只更新服务器运行时到4.6.2及以上受支持版本是不够的,必须把应用的目标框架版本迁移到4.6.2及以上受支持版本。
- 原因很明确:就算未修改的应用在4.6.2运行时能正常跑,但微软对.NET Framework的支持是绑定目标框架版本和运行时环境的。如果应用还是以4.6.1为目标版本,后续微软发的安全补丁、bug修复都不会覆盖这个版本的应用场景,万一应用因为底层框架漏洞出问题,官方不会提供支持和修复。
- 具体操作:把项目的目标框架版本改成4.6.2(或更高的受支持版本),重新编译测试后再部署,同时保证服务器运行时保持在对应的受支持版本。
.NET Core 3.1 应用的处理
- 必须把应用迁移到.NET 5及以上的长期支持(LTS)版本,光更新运行时解决不了根本问题。
- 原因:.NET Core的支持策略和.NET Framework不一样,运行时停止支持后,微软会停掉所有针对该版本的安全更新和技术支持。就算应用能在更高版本的.NET运行时上运行,没迁移的应用拿不到新版本的安全补丁、性能优化,而且一旦出现兼容性问题,官方不会帮忙解决。
- 具体操作:先评估应用的兼容性,然后把它迁移到最新的LTS版本(比如.NET 8),重新编译、测试后部署到对应版本的运行时环境里。
内容的提问来源于stack exchange,提问作者Tom Bola
相关产品推荐
相关产品推荐

