运行.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
我的结论正确否?欢迎讨论