运行.Net4.0程序是否要安装之前的.Net版本

网上说法不一,MS说的 .net4.0 in-process side-by-side compatibility 也没太明白,以下是我用一个简单的控制台程序实测的情况

测试环境:
Win XP XP3 卸载了.net其他版本,只安装了.net 4.0,所调用的dll为之前用VS2008编译.
(若dll是源码工程放到解决方案一起编译,dll工程版本设成V2.0 V3.5,最终程序都可以正常)

主程序Console.exe  调用程序集 dll 运行结果
.Net4.0 .Net 2.0 正常
.Net4.0 Client Profile
.Net 2.0
编译不了
.Net4.0
.Net 3.5
正常
.Net 2.0 不能运行
.Net3.5 不能运行
结果:
1.编译为.Net 4.0的应用程序,不需要安装之前的版本.并且可以调用老版本程序集.Target为Client Profile的不可以.
2.单独运行之前版本的.net 程序,需要安装对应的framework
ps:
Microsoft .NET Framework 4 Client Profile (Standalone Installer) 41M
reference:

posted on 2011-04-09 15:46  Haozes  阅读(1193)  评论(0编辑  收藏  举报