<分区>
我有一个 c# 项目,我要在 VS2010 中从 .net 3.5 转换为 .net 4.0。它引用了运行时版本为 v2.0.50727 的其他第 3 方 dll。
这怎么可能?我有点期待在构建或运行时会出现警告或损坏,但我没有。如果我编译的 .net 4 项目使用 .net v4.0.30319 运行时运行,它是否使用 .net 2.0.50727 运行时运行引用的 dll?因此,我仍然需要安装旧版本的 .net?
或者引用的dll运行在v4.0.30319运行时?
<分区>
我有一个 c# 项目,我要在 VS2010 中从 .net 3.5 转换为 .net 4.0。它引用了运行时版本为 v2.0.50727 的其他第 3 方 dll。
这怎么可能?我有点期待在构建或运行时会出现警告或损坏,但我没有。如果我编译的 .net 4 项目使用 .net v4.0.30319 运行时运行,它是否使用 .net 2.0.50727 运行时运行引用的 dll?因此,我仍然需要安装旧版本的 .net?
或者引用的dll运行在v4.0.30319运行时?
最佳答案
不,那只是自动运行。 v4 CLR 对旧的 v2 程序集引用没有问题,它将它们一对一地转换为那些程序集的 v4 版本。或者,如果这是一个非框架程序集,那么不会发生任何神奇的事情,它仍然可以读取 v2 程序集的元数据。
相当有必要,如果这行不通,很少有程序员会选择升级到 4.0 版。在一些孤立的情况下,4.0 中过期的错误修复导致了不同的行为,但这种情况非常罕见。
关于c# - .NET 4.0 项目如何引用使用 v2.0.50727 运行时的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874999/