.NET 4.0项目如何引用使用v2.0.50727运行时的程序集?

Aar*_*son 3 .net c# clr runtime visual-studio-2010

我有一个ac#project我在VS2010中从.net 3.5转换为.net 4.0.它引用了其他第三方dll,它们的运行时版本为v2.0.50727.

怎么会这样?在建造或运行时,我有点期待警告或破损,但我没有.如果我编译的.net 4项目使用.net v4.0.30319运行时运行,它是否运行带有.net 2.0.50727运行时的引用dll?因此,我仍然需要安装旧版本的.net?

或者引用的dll是在v4.0.30319运行时中运行的?

Han*_*ant 5

不,这只是自动运作.v4 CLR对旧的v2程序集引用没有任何问题,它将它们一对一地转换为这些程序集的v4版本.或者,如果这是一个非框架程序集,那么没有什么神奇的发生,它仍然可以读取v2程序集的元数据.

相当必要的是,如果不起作用,很少有程序员会选择升级到版本4.0.有一些孤立的案例,4.0中的过度错误修复导致了不同的行为,但它们非常罕见.