库将在哪个.net框架版本中运行

本文关键字:框架 版本 运行 net | 更新日期: 2023-09-27 18:29:26

如果我有一个在.NET 4中编译的库,并从.NET 4.5可执行文件中引用它,那么库中定义的操作将针对哪个版本的框架执行?

我有一个cli应用程序,它内置于.net 4.5中,同时引用了.net 4和.net 4.5项目,我想知道两者是否都会使用相同版本的ADO.net组件。

库将在哪个.net框架版本中运行

它们将在同一CLR中运行(本例中为4.5)。

使用.NET<3.5的情况下,可能会加载同一程序集的多个版本(因此,ADO.NET可能会在同一应用程序域中加载4.0版和4.5版)。据我所知,他们要么用CLR 4.0消除了这种情况(或者至少减少了这种情况)。

编辑:BTW-CLR(运行代码的运行时)和正在加载的程序集版本之间存在差异。

CLR的版本控制进程的功能——它可以做什么,可以加载哪些版本的程序集。例如,CLR 4.5可以加载几乎所有的程序集(1.0->4.5)。它们都将在4.5 CLR下运行。除此之外,您不能在同一进程中从同一个compat波段运行两个版本的CLR。CLR 4.5和4.0都被认为是同一兼容频段,因此其中一个或另一个将加载。CLR 1.0、1.1、2.0、3.0和3.5都被认为在同一个compat频段中,因此只能加载其中一个。但是,您可以同时加载CLR 3.5和CLR 4.5。