【发布时间】:2015-06-26 20:51:42
【问题描述】:
是否可以临时且有选择地禁用计算机上安装的一个或多个版本的 .NET Framework,而无需实际卸载每个版本?需要在某些版本的框架不可用时检查对程序的影响。
【问题讨论】:
标签: .net
是否可以临时且有选择地禁用计算机上安装的一个或多个版本的 .NET Framework,而无需实际卸载每个版本?需要在某些版本的框架不可用时检查对程序的影响。
【问题讨论】:
标签: .net
这在很大程度上是一个响亮的“不”。 .NET 版本相互覆盖。忽略古老的 .NET 1.x 版本,您只能在一台机器上拥有 两个 不同版本的 .NET。 CLR 版本 2.0.50727(2.0、3.0、3.5、3.5SP1)涵盖的旧版本之一和 CLR 版本 4.0.30319(4.0、4.01、4.02、4.03、4.5、4.5.1、4.5.2、 4.6)。
如果不对机器造成重大损坏,您无法可靠地返回 CLR 分支中的旧版本。您必须先卸载当前版本,然后才能开始安装要测试的版本。这当然有可能破坏机器上现有程序的稳定性,Visual Studio 就是一个很好的例子。并且可以主动屏蔽;例如,Windows 8 机器将不允许您卸载 4.5 并阻止安装任何早于 3.5SP1 的内容。
您必须使用单独的机器或虚拟机来测试它,它可以引导旧版本的 Windows。 Windows 和 .NET 版本的组合大得令人不快。因此,请在您的系统要求中仅说明您愿意支持的内容。
【讨论】:
据我所知,这是不可能的。我们通过使用具有不同快照的虚拟机和我们想要检查的 .NET Framework 版本来完成类似的操作。
您可以使用 SDK 自动化 VMware 机器,以使整个过程自动化。
【讨论】: