c# - 在 .NET 4.0 应用程序域上加载针对 .NET 4.5 的程序集

标签 c# .net .net-4.0 .net-4.5 assembly-loading

假设系统安装了 .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/

相关文章:

javascript - Stringbuilder.ToString() 转换 "and ' 符号在 javascript 中生成 ' 和 "

c# - 在运行时(构建时)创建 T4 模板?

jquery - 在内联添加时显示 jqg1 而不是从数据库返回的 id

.net - 为什么我不能在对象成员中使用一次性对象?

.net 3.5 到 4.0 迁移

c# - 无法在 UWP 的 Windows 运行时组件中访问我的项目中的方法和类

c# - ComboBox KeyDown事件如何考虑最后按下的键

c# - 我可以停止 .NET 4 执行尾调用消除吗?

c# - 无法将数据插入 WPF 中的本地数据库

c# - 在 C# 中创建树结构的紧凑语法