WIN7原生的.net是2.0和3.5,打开和关闭windows功能里面可以看到。
另外C:\Windows\Microsoft.NET\Framework下面也能看到。
.net framework1.0 1.1底层的CLR1.0 1.1早已被微软抛弃.
WIN7里面附带的.NET 2.0 3.5底层的CLR都是2.0的。
WIN8 10里面附带的.NET4.x framework底层的CLR都是4.0的,他们也附带了.net 2.0 3.5(CLR2.0),需要你在打开和关闭windows功能里面开启。
基于不同版本的CLR开发的程序不可能通用。同一个CLR版本下开发的程序,如果没有采用公用的程序集API,也不一定能够通用。
所以.net4.5.1开发的程序,他会提示你需要安装.net4.5.1,必须要CLR4.0,也就是需要安装.net4.5.1framework。
windows的.net framework非常蛋疼,基本没有什么兼容性,更别提什么跨平台,一个.net程序如果在不同的CLR下开发,在WIN7 8 10上兼容性都难以保证,必须要“运行屎”,“带屎运行”才行,.net运行屎对系统速度有可以感觉到的拖累。

打个不一定太恰当但是很形象的比喻:
CLR1.0 1.1就好比马路,上面只能跑一般的马车.NET1.0 1.1,微软觉得他们不行,于是就有了CLR2.0。
CLR2.0就好比公路,公路上可以跑小汽车.NET2.0、中巴车.NET3.5,微软觉得他们装的人还是太少,于是就有了CLR4.0。
CLR4.0就好比铁路,铁路上可以跑蒸汽机车.NET4.0、内燃机车.NET4.5、电力机车.NET4.6 4.7,微软觉得装的人挺多的。
微软又觉得,各种车光在美国跑不行,还要能在中国跑,这就叫做.NET跨平台。
随着java技术如日中天,微软觉得光卖车还是不行,还要转让技术让更多的厂家来玩,这就叫做.NET开源。
但是要想把小汽车、中巴车开上铁路轨道,那就很难咯。。。因为他们底层的平台CLR不同。
微软又发现,在铁路上跑的蒸汽机车、内燃机车、电力机车发动机虽然不通用,但是他们都可以装一样的空调,这就叫做兼容。

.NET版本与CLR版本及兼容性的更多相关文章

  1. .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上(ZT)

    本文转载   https://walterlv.github.io/dotnet/2017/09/22/dotnet-version.html ,感谢  吕毅 (包含链接: https://walte ...

  2. .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上

    转帖:https://blog.csdn.net/WPwalter/article/details/78067293 另参考:https://www.cnblogs.com/worksguo/arch ...

  3. C#版本和.NET版本以及VS版本的对应关系

    C#版本和.NET版本以及VS版本的对应关系 版本 .NET Framework版本 Visual Studio版本 发布日期 特性 C# 1.0 .NET Framework 1.0 Visual ...

  4. C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) C#各版本新特性 C#版本和.NET版本以及VS版本的对应关系

    C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) 2017年08月06日 11:53:13 阅读数:6705 历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有1 ...

  5. 理解Maven中的SNAPSHOT版本和正式版本

    Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...

  6. 安装MYSQL详细教程 版本:mysql-installer-community-5.7.16.0 免安装版本和安装版本出现错误的解决

    一.版本的选择 之前安装的Mysql,现在才来总结,好像有点晚,后台换系统了,现在从新装上Mysql,感觉好多坑,我是来踩坑,大家看到坑就别跳了,这样可以省点安装时间,这个折腾了两天,安装了好多个版本 ...

  7. git版本回退, github版本回退

    上周提交了更改,过了周末回来说要撤销上个story.于是,需要找到上周提交的版本,rollback回来. git版本管理命令,自从习惯使用管理工具之后就很少接触了,当突然寻找其他指令的时候就成浆糊了, ...

  8. .NET 获取客户端的操作系统版本、浏览器版本和IP地址

    我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...

  9. 解决VS+opencv中Debug版本与Release版本lib切换的问题

    Author: Maddock Date: 2015-03-26 09:34:48 问题来源:http://bbs.csdn.net/topics/390733725 PS: 按照上述方法做的时候,在 ...

随机推荐

  1. ABP框架(asp.net core 2.X+Vue)模板项目学习之路(二)--切换MySql数据库

    前言: 大家好,今天给大家带来ABP第二篇的分享,在写这篇分享的时候非常的困难,因为发现ABP的框架越是深入.难度也就越大,而且深刻感觉到自己领域驱动开发知识的欠缺,前段时间买了两本有关于领域驱动知识 ...

  2. 编译原理子cygwin的使用

    目的:熟悉cygwin环境的使用,学习使用lex写简单的词法分析程序,会在cygwin环境下使用flex调试lex写的程序 内容:使用cygwin下的flex工具将exam1.l和exam2.l编译并 ...

  3. Python 子进程不能input

    from threading import Thread from multiprocessing import Process def f1(): name = input('请输入名字') #EO ...

  4. 2018-计算机系机试-A

    #include<stdio.h> #include<cstdio> #include<cmath> #include<cstring> #includ ...

  5. session的部分理解

    定义 Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session ...

  6. react 组件导出

    前段时间忙于公司的招聘,导致react学习停滞了一段时间.今天通过react官方文档在本地创建了一个项目,把里面的文件自己重新开发.遇到了一个有意思的问题 class App extends Reac ...

  7. Zedboard搭建Linux嵌入式环境

    ZYNQ是ARM硬核和PL软核的结合体,Xillybus官方为他开发了驱动套件Xillinux,赶快将开发板投入使用吧! 本随笔参考了众多博主和官方教程:(基本上就是把官方教程翻译了一遍,呵呵:)) ...

  8. Sublime 黑科技之——lorem快速输入

    需要一段文字填充某块演示的空间,但不管写什么文字都觉得不合适,那么这个黑科技你值的拥有. 在Sublime Text中,输入lorem,再按Tab键,即可快速输入一段无意义的占位字符: Lorem i ...

  9. FileUrl

    package com.rscode.credits.util; import java.io.BufferedReader; import java.io.File; import java.io. ...

  10. 根据某字段将其他字段进行拼接的两种方法(SYS_CONNECT_BY_PATH及wm_concat)

    秘书姐姐说想知道她发起的所有流程,现在都到谁审批了.由于一条流程当前审批人可能有多个,故需根据单据编号(djbh)将审批人拼接到一个字段中. 说明: wfn审批历史记录表,djbh 单据编号,pk_c ...