.NET Framework版本与CLR版本之间的关系

http://blog.csdn.net/sdtsfhh/article/details/6726869

.Net Framework 1.1 是VS2003的,与2.0不太兼容,1.1开发的程序,在移植到2.0环境时,需要做的改动较大。

.net framework 2.0,3.0与3.5之间的关系:

.net framework 2.0 = CLR 2.0 + FCL(framework class library)
.net framework 3.0 = .net framework 2.0 + SP1 + WPF + WCF + WF + CardSpace
.net framework 3.5 = .net framework 3.0 + SP2 + new compiler

这三个版本framework的CLR都是2.0,因此,你会发现asp.NET的runtime还是只有1.1和2.0,像Linq这些新功能其实只是用新的编译器加上一些新的类库来实现的,3.5版本并没有对CLR做大的升级。

VS2008支持在2.0,3.0和3.5三种版本下开发项目,VS2005的项目可以平稳的升到VS2008上,在VS2008下做VS2005的项目,用的编译器和类库同VS2005都是一样的,但是提供了更好的开发环境。

3.5可以理解为2.0的插件或增强包,单独安装,在ASP.NEP环境中(IIS),还是只能看到2.0,而看不到3.5。

另外,如果机器上安装了VS2010,它支持.NET Framework 4.0。那么框架4.0对应的CLR版本是4.0。

http://blog.csdn.net/gykimo/article/details/26971515

CLR可以理解为JVM;

.Net Framework可以理解为类库;

.Net和CLR的关系

.Net版本之间是有一定联系的,目前为止微软推出了3个版本的CLR,分别是 1.1, 2.0 , 4.0 并且你要注意的是 .Net 4是基于CLR4的,而.Net 2.0 3.0 3.5都是基于 CLR2.0, 3.0 3.5其实只是在2.0的基础上增加了新的功能,并没有改变CLR。

所以,一旦有程序需要CLR2.0环境,你就需要安装 2.0 3.0 或者 3.5。 建议是安装3.5, 因为这样就已经包含了2.0 3.0 的所有内容;而4.0是需要独立安装的。

CLR2.0 和 CLR4.0安装顺序没有要求,所以你只需要一次性安装一个 .Net 3.5 SP1 和 .Net 4.0 就可以了:

https://msdn.microsoft.com/zh-cn/library/bb822049.aspx

原文地址:https://www.cnblogs.com/atuo/p/6823788.html