Windows Server 2016中包含.NET Framework 4.6 was included with Windows 10 from version 1507版和.NET Framework 4.6.2版。如果你的客户端运行的是这两个版本或更高版本的Windows,则无需安装任何内容即可运行你的.NET Framework 4.6应用,并且即使你安装了.NET Framework 3.5,它也不会在其上运行。 如果你使用的是比这更老的Windows版本,并且没有安装.NET Framework 4.6或更高版本,我不会期望它能运行。
3条答案
按热度按时间6tr1vspr1#
TL;DR:基本上,您可以在新的基础上运行旧的,但不能在旧的基础上运行新的。
DotNet 4.6+是向后兼容的,你可以运行一个应用程序与DotNet 3.5等,但你不能运行一个应用程序与DotNet 4.6+,而使用旧的安装框架,如3.5或其他。
想象一下,你有一台windows10电脑,你想安装一个为windows8甚至是XP或更老版本构建的应用程序,现代windows有兼容层,这是运行或安装程序所必需的。
现在你/你的客户正在做的基本上是采取一个专门为Windows 10设计的应用程序,并试图运行它在Windows XP或95等,这不会工作,因为兼容层不到位,以支持“未来”。没有人可以预见的新功能和API的,他们可能会添加,所以应用程序是不兼容的旧Windows。
如果您的目标是.NET 4.6,那么请选择.NET 4.6。
不要指望你的代码/应用能兼容任何更低的版本,如果你确实需要,你必须针对特定的版本。它有自己的缺点,因为新的方法/做事方式和许多库你可以使用不适用/不兼容。
您可以更新所有代码以使用4.6或更高版本,或者将代码库切换到目标3.5并接受其缺点。
2q5ifsrm2#
从向后兼容性
.NET Framework 4.5及更高版本与使用早期版本的.NET Framework生成的应用程序向后兼容。换句话说,使用早期版本生成的应用程序和组件无需修改即可在.NET Framework 4.5及更高版本上运行。
在您的情况下,应用是在.Net Framework 4.6上生成的,而客户端计算机上的平台是3.5版本。可能会出现一些问题,因为应用需要的版本比它运行的平台新。
uubf1zoe3#
Windows Server 2016中包含.NET Framework 4.6 was included with Windows 10 from version 1507版和.NET Framework 4.6.2版。如果你的客户端运行的是这两个版本或更高版本的Windows,则无需安装任何内容即可运行你的.NET Framework 4.6应用,并且即使你安装了.NET Framework 3.5,它也不会在其上运行。
如果你使用的是比这更老的Windows版本,并且没有安装.NET Framework 4.6或更高版本,我不会期望它能运行。