假设系统安装了.NET 4.0和.NET 4.5。
是否可以从针对.NET 4.0编写的程序集中加载和使用.NET 4.5程序集?
简单地说,我可以从.NET 4.0代码调用Assembly.Load来加载.NET 4.5定位程序集吗?
答案 0 :(得分:12)
假设系统为.NET 4.0和.NET 4.5:
如marcgravell's blog所述,由sehe链接
4.5是GAC中4.0之上的就地安装。一旦安装了4.5,4.0运行4.5程序集
然后从面向4.0的.NET代码(由4.0编译器编译)调用Assembly.Load,实际上将使用4.5框架实现运行,因此我没有看到为什么它无法加载4.5程序集的任何原因
margravell指出,当您尝试在仅安装4.0的系统上运行.NET 4.5编译代码时会出现问题,因为yield return / break迭代器的实现会导致缺少方法引用。但这不应该影响你。