【发布时间】:2020-11-18 12:46:49
【问题描述】:
我们已将应用从 4.6 更新到 4.8。经过一些测试,我发现在仅安装了 4.7.1 框架的系统上,我们的应用程序启动时完美无缺。但是我们没有只有 4.6 框架的机器,我有 2 个问题:
- 用 4.8 编译的应用能否在 4.6 上启动(代码不做任何更改)?
- 如果在较低框架的系统上调用仅在 4.8 上可用的方法,会发生什么情况?
【问题讨论】:
-
您必须对此进行测试,例如在虚拟机中
-
老实说,这听起来像是“不要那样做”的场景;如果您的目标是比运行时更高的平台,这里没有人可以保证它会工作;它可能会偶然起作用吗?当然......但这并不是一个好主意。较新版本的 .NET 具有自捆绑部署选项,因此不依赖于预先安装的特定运行时(老实说,对于没有强烈缓解理由的新工作来说,net46 和 net48 都是不好的选择)
-
确实 - 为什么不迁移到 .NET Core/5?您迟早必须这样做,而独立的部署选项意味着您不需要关心运行时
-
它将开始,eventually。你没猜对 4.7.1,今天很难找到这样的机器。 Windows 更新助您一臂之力。