Windows 系统自带的 .NET Framework 版本号

文章详细介绍了Windows系统(包括WindowsServer和Windows客户端)自带的.NETFramework版本历史,强调从Windows10开始固定为4.8,并指出如何通过app.config文件调整应用程序在不同版本.NET上运行。还提供了如何配置应用程序以支持.NET4及以上版本的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows 系统自带的 .NET Framework 版本号Windows 系统自带的 .NET Framework 版本号

对于开发winform或者wpf的对应版本问题可以参考如下:Windows 系统自带的 .NET Framework 版本号

Windows 10 (1903) 版本开始,自带的 .NET Framework 版本一直保持为 4.8 并且不再允许手动安装。如果 .NET Framework 出了问题,基本只能重装系统;而 Windows Update 就有可能把 .NET Framework 搞坏。

① Windows Server :

Windows Server版本自带的.NET Framework 版本
Windows Server 2022.NET Framework 4.8
Windows Server 2019.NET Framework 4.7.2
Windows Server 2016 1809.NET Framework 4.7.2
Windows Server 2016 1803.NET Framework 4.7.2
Windows Server 2016 1709.NET Framework 4.7.1
Windows Server 2016.NET Framework 4.6.2
Windows Server 2012 R2.NET Framework 4.5.1
Windows Server 2012 .NET Framework 4.5

Windows Server 2008 R2

.NET Framework 3.0
Windows Server 2008 SP2.NET Framework 2.0 SP2
Windows Server 2008 SP1.NET Framework 2.0 SP1
Windows Server 2008.NET Framework 2.0 SP1
Windows Server 2003 (x64)
Windows Server 2008 (x86).NET Framework 1.1

② Windows :

Windows 版本自带的.NET Framework 版本
Windows 11.NET Framework 4.8
Windows 10 22H2.NET Framework 4.8
Windows 10 21H2.NET Framework 4.8
Windows 10 21H1.NET Framework 4.8
Windows 10 20H2.NET Framework 4.8
Windows 10 2004.NET Framework 4.8
Windows 10 1909.NET Framework 4.8
Windows 10 1903.NET Framework 4.8
Windows 10 1809.NET Framework 4.7.2
Windows 10 1803.NET Framework 4.7.2
Windows 10 1709.NET Framework 4.7.1
Windows 10 1703.NET Framework 4.7
Windows 10 1607.NET Framework 4.6.2
Windows 10 1511.NET Framework 4.6.1
Windows 10 1507.NET Framework 4.6
Windows 8 SP1.NET Framework 4.5.1
Windows 8.NET Framework 4.5
Windows 7 SP1.NET Framework 3.5.1
Windows 7.NET Framework 3.5.1
Windows Vista SP1.NET Framework 2.0 SP1
Windows Vista.NET Framework 2.0
Windows XP SP3.NET Framework 1.0
Windows XP SP2.NET Framework 1.0
Windows XP SP1.NET Framework 1.0

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

查阅了微软的官方文档:
https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5
解决办法如下:

  1. Learn
  2. .NET
  3. .NET Framework
  4. 迁移指南

使用英语阅读添加

如何:将应用配置为支持 .NET Framework 4 或更高版本

  • 项目
  • 2023/05/10
  • 11 个参与者

反馈

本文内容

  1. 将应用程序配置为在 .NET Framework 4 或更高版本上运行
  2. 请参阅

托管公共语言运行时 (CLR) 的所有应用程序都必须启动(或激活)CLR,才能运行托管代码。 通常,.NET Framework 应用在生成它的 CLR 版本上运行,但你可以使用应用程序配置文件(有时称为 app.config 文件)来更改桌面应用程序的此行为。 但是,您不能使用应用程序配置文件来更改 Windows 应用商店应用或 Windows Phone 应用程序的默认激活行为。 本文说明如何使桌面应用程序能够在 .NET Framework 的其他版本上运行,并提供了如何定位版本 4 或更高版本的示例。

按下列顺序确定在其上运行应用程序的 .NET Framework 的版本:

  • 配置文件。

    如果应用程序配置文件中的 <supportedRuntime> 条目指定了一个或多个 .NET Framework 版本,且用户的计算机安装的是其中一个版本,那么应用程序就会在相应版本中运行。 配置文件按列出顺序读取 <supportedRuntime> 条目,并使用列出的第一个在用户计算机上安装的 .NET Framework 版本。 (对 1.0 版使用 <requiredRuntime> 元素。)

  • 编译的版本。

    如果不存在任何配置文件,但用户计算机上存在基于其构建应用程序的 .NET Framework 版本,则此应用程序将在此版本上运行。

  • 已安装的最新版本。

    如果没有生成应用程序时使用的 .NET Framework 版本,且配置文件未在 <supportedRuntime> 元素中指定版本,那么应用程序会尝试在用户计算机上安装的最新版 .NET Framework 中运行。

    但是,.NET Framework 1.0、1.1、2.0、3.0 和 3.5 应用程序不会自动在 .NET Framework 4 或更高版本上运行,在某些情况下,用户可能会收到错误,且系统可能会提示用户安装 .NET Framework 3.5。 由于不同版本的 Windows 系统包含的 .NET Framework 版本不同,因此激活行为还取决于用户的操作系统。 如果应用程序支持 .NET Framework 3.5 和 4 或更高版本,建议您在配置文件中使用多个条目来指明这一点,以避免 .NET Framework 初始化错误。 有关详细信息,请参见版本和依赖关系

为了利用版本 4 和更高版本中的性能改进,可能还需要将 .NET Framework 3.5 应用配置为在 .NET Framework 版本 4 或更高版本上运行,甚至在安装了 .NET Framework 3.5 的计算机上也是如此。

 重要

建议你始终在你支持的每个 .NET Framework 版本上测试应用程序。 若要了解如何将应用程序升级为支持更高版本的 .NET Framework,请参阅版本兼容性

若要了解如何将 .NET Framework 1.0 和 1.1 应用程序修改为支持 Windows 7 和 Windows 8,请参阅从 .NET Framework 1.1 迁移

将应用程序配置为在 .NET Framework 4 或更高版本上运行

  1. 添加或查找 .NET Framework 项目的配置文件。 应用程序的配置文件与该应用程序位于相同的目录中,并且具有相同的名称,只不过它具有扩展名 .config。 例如,对于名为 MyExecutable.exe 的应用程序,应用程序配置文件的名称为 MyExecutable.exe.config。

    若要添加配置文件,请在 Visual Studio 菜单栏上依次选择“项目”和“添加新项”。 在左侧窗格中,依次选择“常规”和“配置文件”。 将配置文件命名为 App.config。这些菜单选项对于 Windows 应用商店应用或 Windows Phone 应用程序项目不可用,因为无法在这些平台上更改激活策略。

  2. 在应用程序配置文件中添加如下 <supportedRuntime> 元素:

    XML复制

    <configuration>
      <startup>
        <supportedRuntime version="version"/>
      </startup>
    </configuration>
    

    其中,<version> 指定与应用程序支持的 .NET Framework 版本匹配的 CLR 版本。 使用以下字符串:

    • .NET Framework 1.0:“v1.0.3705”

    • .NET Framework 1.1:“v1.1.4322”

    • .NET Framework 2.0、3.0 和 3.5:“v2.0.50727”

    • .NET Framework 4 及更高版本:“v4.0”

    可以添加多个 <supportedRuntime> 元素(按优先顺序列出)来指定对多个 .NET Framework 版本的支持。

下表演示安装在计算机上的应用程序配置文件设置和 .NET Framework 版本如何确定在计算机上运行的 .NET Framework 3.5 应用程序的版本。 这些示例特定于 .NET Framework 3.5 应用程序,但您可以将类似逻辑用于使用早期版本的 .NET Framework 生成的目标应用程序。 请注意,.NET Framework 2.0 版本号 (v2.0.50727) 用于在应用程序配置文件中指定 .NET Framework 3.5。

App.config 文件设置在安装了 3.5 版的计算机上在安装了版本 3.5 和 4 或更高版本的计算机上在安装了版本 4 或更高版本的计算机上
None在 3.5 上运行在 3.5 上运行显示提示用户安装正确版本的错误消息*
<supportedRuntime version="v2.0.50727"/>在 3.5 上运行在 3.5 上运行显示提示用户安装正确版本的错误消息*
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
在 3.5 上运行在 3.5 上运行在 4 或更高版本上运行
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
在 3.5 上运行在 4 或更高版本上运行在 4 或更高版本上运行
<supportedRuntime version="v4.0"/>显示提示用户安装正确版本的错误消息*在 4 或更高版本上运行在 4 或更高版本上运行

* 若要详细了解此错误消息及其避免方法,请参阅 .NET Framework 初始化错误:管理用户体验

③ .NET Framework 版本与CLR :

.NET Framework 版本CLR版本
.NET Framework 1.X(最高:1.1)CLR 1.0
.NET Framework 2.X(最高:2.0 SP2)CLR 2.0
.NET Framework 3.X(最高:3.5 SP1)
.NET Framework 4.X(最新:4.8.1)CLR 4.0
查看版本的方法一:官方办法

微软官方提供了工具,确定已安装的 .NET Framework 版本 - .NET Framework | Microsoft Learn

 https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

综上:建议用.net framework 3.5作为生成目标,CPU设置为any来开发,然后在app.config文件里加上

‘’‘’

<?xml version="1.0" encoding="utf-8"?>

        <configuration>

                <startup useLegacyV2RuntimeActivationPolicy="true">

                       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

                        <requiredRuntime version="v4.0.30319" />

                        <supportedRuntime version="v2.0.50727"/>

                </startup>

        </configuration>

这样开发出来的程序既可以在.net 3.5上面运行,也可以在.net 4.x下运行。
xp系统本身不带任何.net,用户装一个3.5或4.0后可运行。
win7自带3.5,无需再装,直接运行。
win8自带4.5,无需再装,直接运行。
win8.1自带4.5.1,无需再装,直接运行。
win10自带4.6,无需再装,直接运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

因你而精彩_HAN

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

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

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

打赏作者

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

抵扣说明:

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

余额充值