.NET Framework高低版本兼容问题解决办法

14 篇文章 1 订阅

一、描述

端游上架QQ游戏大厅,一般会要求自制一个微端下载器,可以使用.NET Framework的桌面应用开发,也可以使用C++桌面应用开发。为了方便快捷,我采取了.NET Framework的桌面应用开发的方式。

二、兼容问题

1、高低版本.NET兼容问题

下载器使用了.NET 4.0版本进行编译,在win10系统中可以正常运行,在win7中运行报错,如下
在这里插入图片描述
于是,将下载器改为.NET 3.0进行编译。可以在win7中正常运行了,但是在win10中出问题了,运行弹出提示框,如下:
在这里插入图片描述
微软居然不会自动向下兼容。

2、windows自带的.NET版本
操作系统版本默认安装的.NET版本
windows xp sp1.NET Framework 1.0 + SP2
windows xp sp2.NET Framework 1.0 + SP3
windows xp sp3.NET Framework 1.0 + SP3
windows Vista.NET Framework 2.0 + 3.0
windows Vista SP1.NET Framework 2.0 SP1 + 3.0 SP1
windows 7 / windows 7 SP1.NET Framework 3.5.1
windows 8.NET Framework 4.5
windows 8 sp1.NET Framework 4.5.1
windows 10 (1507).NET Framework 4.6
windows 10 (1511).NET Framework 4.6.1
windows 10 (1607).NET Framework 4.6.2
windows 10 (1703).NET Framework 4.7
windows 10 (1709).NET Framework 4.7.1
windows 10 (1803/1809).NET Framework 4.7.2
windows 10 (1903).NET Framework 4.8

注意,现在很多操作系统都做了ghost镜像版本,所以系统自带的.NET版本不一定和上面的表格一致,很可能你的win7就自带了.NET 4.0了。

2、如何查案已安装的.NET版本
2.1、方法一:官方办法

微软官方提供了工具,https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed
在这里插入图片描述

2.2、方法二:通过javascript查看.NET版本

如果你是win7,可以使用更简单的办法:
新建一个html文件,内容如下:

<script>
alert(navigator.userAgent);
</script>

然后使用IE浏览器打开,即可看到已安装的.NET版本了。
在这里插入图片描述
如果是win10则不行,看不到.NET版本,弹框如下:
在这里插入图片描述

2.3、方法三:通过注册表查看.NET版本

win+R键,在命令窗口输入regedit.exe,打开注册表。
在这里插入图片描述
在注册表中定位到如下节点HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
安装过的.NET Framework都列在NDP目录下
在这里插入图片描述

三、高低版本.NET兼容解决办法

查阅了微软的官方文档:
https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5
解决办法如下:
载器使用.NET 3.0进行编译。
下载器exe同级目录中放一个与exe同名的.config配置,比如下载器为MyLauncher.exe,则配置名为MyLauncher.exe.config。配置内容如下:

<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
     <supportedRuntime version="v2.0.50727" />
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

四、高低版本.NET兼容测试

使用上述的解决办法,将程序在以下环境中进行兼容测试。
1 在只安装了.NET 3.5win7中进行测试。
2 在只安装了.NET 4.0win10中进行测试。

补充,如果你的电脑中既安装了.NET 3.5又安装了.NET 4.0,可以将.NET 3.5禁用掉。
方法如下:
打开 控制面板\程序\程序和功能,点击 启用或关闭 Windows 功能
在这里插入图片描述
去掉.NET Framework 3.5前面的勾选,点击确定。
在这里插入图片描述

.NET Framework是一个由Microsoft开发的软件框架,用于在Windows操作系统上运行和开发应用程序。它提供了一系列的类库、语言服务、运行时环境和开发工具,使得开发人员能够快速、高效地开发Windows应用程序。 .NET Framework的不同版本提供了不同的功能和更新,以下是各个版本的解释: 1. .NET Framework 1.0:这是第一个版本.NET Framework,于2002年发布。它提供了基本的类库和语言服务,支持Visual Basic .NET和C#等编程语言。 2. .NET Framework 1.1:于2003年发布,是.NET Framework 1.0的升级版本。它增加了对ASP.NET Mobile控件的支持,对ASP.NET的性能进行了优化,并增加了安全性和稳定性方面的改进。 3. .NET Framework 2.0:于2005年发布,是.NET Framework的一个重要版本。它引入了新的类库、语言服务和开发工具,支持Windows Presentation Foundation(WPF)、Windows Communication Foundation(WCF)和Windows Workflow Foundation(WF)等技术。 4. .NET Framework 3.0:于2006年发布,是.NET Framework 2.0的升级版本。它不是一个全新的版本,而是在.NET Framework 2.0的基础上添加了WPF、WCF和WF等技术。 5. .NET Framework 3.5:于2007年发布,是.NET Framework的一个重要版本。它增加了对LINQ、ASP.NET AJAX和.NET Compact Framework等技术的支持,同时还提供了一些新的类库和语言服务。 6. .NET Framework 4.0:于2010年发布,是.NET Framework的一个主要版本。它增加了对并行编程、动态语言运行时、COM互操作和安全性等方面的支持,同时还提供了一些新的类库和语言服务。 7. .NET Framework 4.5:于2012年发布,是.NET Framework的一个升级版本。它增加了对异步编程、WebSocket、Web API和HTML5等技术的支持,同时还提供了一些新的类库和语言服务。 8. .NET Framework 4.6:于2015年发布,是.NET Framework的一个升级版本。它增加了对ASP.NET Identity、ASP.NET Web API和ASP.NET MVC等技术的支持,同时还提供了一些新的类库和语言服务。 9. .NET Framework 4.7:于2017年发布,是.NET Framework的一个升级版本。它增加了对Windows 10 Creators Update和ASP.NET Core 2.0等新技术的支持,同时还提供了一些新的类库和语言服务。 总之,不同版本.NET Framework提供了不同的功能和更新,根据实际需求选择相应版本是非常重要的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林新发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值