假设系统安装了 .NET 4.0 和 .NET 4.5。
是否可以从针对 .NET 4.0 编写的程序集中加载和使用 .NET 4.5 程序集?
简单地说,我可以从 .NET 4.0 代码调用 Assembly.Load
来加载 .NET 4.5 目标程序集吗?
最佳答案
假设系统为 .NET 4.0 和 .NET 4.5:
如 marcgravell's blog 中所述由sehe链接
4.5 is an in-place over-the-top install on top of 4.0, in the GAC; once you have installed 4.5, 4.0 runs with the 4.5 assemblies
然后从面向 4.0 的 .NET 代码(由 4.0 编译器编译)调用 Assembly.Load,实际上将使用 4.5 框架实现运行,所以我看不出它无法加载 4.5 程序集的任何原因.
margravell 指出,当您尝试在仅安装 4.0 的系统上运行 .NET 4.5 编译代码时会出现问题,因为 yield return/break 迭代器的实现会导致缺少方法引用。但这应该不会影响您。
关于c# - 在 .NET 4.0 应用程序域上加载针对 .NET 4.5 的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631353/