是否可以编写一个以.NET 4.0为目标但在由.NET 4.5应用程序调用时使用.NET 4.5功能的.NET库

本文关键字:NET 应用程序 调用 功能 一个以 是否 目标 | 更新日期: 2023-09-27 18:21:20

库必须能够在只有.NET 4.0的计算机上运行。如果在同样具有.NET 4.5的计算机上运行,并且由.NET 4.5应用程序调用,那么如果同一个库能够使用一些特定于.NET 4.5的功能,那就太好了。

当然,对直到.NET 4.5才引入的类型和方法进行硬编码依赖关系会使库不再符合.NET 4.0,但.NET 4.5应用程序加载的.NET 4.0库是否可以使用反射加载和使用.NET 4.5类型和方法?

是否可以编写一个以.NET 4.0为目标但在由.NET 4.5应用程序调用时使用.NET 4.5功能的.NET库

是的,你可以,因为它们已经由你支配了。一个很好的例子是Paint.Net所做的事情;它是4.0的编译器,但如果安装了4.5,它将使用反射启用多核JIT。您可以在中找到详细信息http://blog.getpaint.net/2012/09/08/using-multi-core-jit-from-net-4-0-if-net-4-5-is-installed/