如果我有一个在.NET 4中编译的库,并从.net 4.5可执行文件中引用它,那么该库中定义的操作的哪个版本将执行?
我有一个内置.net 4.5的cli应用程序,并引用.net 4和.net 4.5项目,我想知道两者是否将使用相同版本的ADO.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 band运行两个版本的CLR.CLR 4.5和4.0都被认为是相同的compat带,因此任何一个或另一个都将加载.CLR 1.0,1.1,2.0,3.0和3.5都被认为是在同一个compat频段,所以只有其中一个可以加载.但是,您可以同时加载CLR 3.5和CLR 4.5.
| 归档时间: |
|
| 查看次数: |
251 次 |
| 最近记录: |