【发布时间】:2023-04-11 00:52:01
【问题描述】:
我有一个针对 .net 4.0 的 MVC 3 应用程序它有十几个同样针对 .net 4.0 的项目
我为使用反射的 .net 4.5 解决方案创建了一个新项目(我想使用 4.5 中的一些不错的功能)。当我尝试编译时,我收到一条错误消息,提示“找不到类型或命名空间(新 4.5 项目),您是否缺少指令或程序集引用”。
是否可以在针对 4.0 的项目中引用针对 .net 4.5 的程序集?
【问题讨论】:
-
理论上我会说你可以,因为 .Net 4.5 是 .Net 4.0 的替代品,所以运行时是相同的。我建议不要这样做,因为显然您正在冒着调用 4.5 项目中不存在的代码的风险。它是您想要的 4.5 中的 BCL 功能还是语言功能?
-
编译器将 2×4 应用于您的额头。如果您认为这是错误的,那么请尝试想象当您的代码调用仅在 .NET 4.5 中可用但在安装了 4.0 的机器上运行的方法时会发生什么。啪啪啪。
-
CodingGorilla - 这是一个 BCL 功能,属性的反射似乎更好一些,并且有更多的辅助函数