Code Bye

net 4.5兼容4.0

      本人一直以为.net各个版本都是独立的,用4.5写的程序,不能在只装了4.0的机器上跑,反之亦然。但是今天写了个4.0的dll,4.5的主程序,主程序调用dll时本人以为对4.0和4.5都有需求,于是拿到一些机器上去试验,结果如下:
1、像xp这样无法装4.5只装了4.0的,显然启动不了主程序
2、像win7这样只装了4.0没有装4.5的,还是启动不了主程序
3、然后本人在装了4.0的win7上又装了个4.5.1,当然可以正常运行程序了
4、但是装完4.5.1之后本人发现原来的4.0已经没有了(控制面板上看不到之前有的4.0了)
5、于是本人怀疑安装4.5.1是把4.0给覆盖了
莫非4.5X系列对4.0是向下兼容的?本人晕了,貌似以前也见过控制面板里面同时出现了4.0和4.5
解决方案

30

4.5.1
红色是大版本
蓝色是小版本
一般来说大版本不变的话,其核心是相同的
而Frame版本变动最大的几个版本是
1.1~2.0,设计什么的大变,一般升级都会出现各种错误
2.0~3.5其实底层都是同一个版本,都是2.x版本
3.5~4.0底层有重写,但语法、用法什么的与前面的版本没啥区别,就算有,也是细小的区别
4.0~4.5底层是同一个版本,比较特殊的是4.5.1,它是换了编译器……
假如目前全部的Frame你都有装过的话,那你在IIS的程序池里面就会有四个选项,1.1版本,2.0版本,4.0版本,无托管

15

应该是兼容的啊 4.5的版本高于4.0  理论上是兼容4.0的

15

引用 2 楼 falcomavin 的回复:

本人刚才又试了一下,dll为3.5,主程序为4.0,然后再一台装有2.0,3.5,4.5的机器上可以运行,接着本人把3.5卸了依然能运行,为什么?dll不是3.5吗

要看你引用的dll是不是3.5特有的,毕竟核心库只有2.0和4.0两种
一般dll在c:\windows\assembly和c:\windows\Microsoft.NET\assembly里面,你可以确认下

10

。net framework 版本都是向下兼容的,这个没有疑问。

10

以本人的实际使用经验来看,是兼容的。一般4.0下开发的程序在4.5环境下是可以正常运行的。反过来不行。通常安装完4.5后,本人一般不再安装4.0,也安装不了,原因是会提示有更新版本,不用安装。

20

引用

.NET Framework 4.5 是一个针对 .NET Framework 4 的高度兼容的就地更新。

引用

虽然此版本的 .NET Framework 可与 .NET Framework 3.5 和更早的版本并行运行,但执行的是针对 .NET Framework 4 的就地升级。

https://www.microsoft.com/zh-cn/download/details.aspx?id=30653
所以,4.5对于4.0是替代关系,不能并行存在。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明net 4.5兼容4.0