.NET framework 4是否包含版本3?

时间:2011-07-13 18:36:04

标签: .net backwards-compatibility

这可能是一个愚蠢的问题,但谷歌搜索不是很有效。维基百科对此也没有帮助。

我有一个需要.NET framework 3的库,但我安装了版本4,是否需要安装一些东西?其他人下载我的代码时也会遇到同样的问题:我需要提供哪些指示。

2 个答案:

答案 0 :(得分:4)

不,你不需要安装任何东西。 CLR 4.0(由.NET 4.0使用)可以加载和运行针对.NET 3.0编译的程序集。但是它们将在CLR 4.0下运行,而不是它们为它们构建的CLR 2.0。如果您有源代码,则没有必要,您可以将其重新编译为目标.NET 4.0。当然,情况恰恰相反:为.NET 4.0构建的程序集将无法在CLR 2.0上运行。

正如@marc_s在注释中提到的,如果你确实需要单独使用CLR v2(.NET 2.0 / 3.0 / 3.5),你需要单独安装一个合适的.NET框架 - .NET 4不包括“旧”CLR v2

答案 1 :(得分:1)

严格来说,.NET 4不包含.NET 3.它甚至基于不同的运行时。但是,.NET 4应用程序可能会使用.NET 3库(您可以在app.config中进行一些特殊设置)。更好的方法当然是获得.NET 4版本的库。

(例如,如果您的应用程序使用混合模式程序集,则可能需要useLegacyV2RuntimeActivationPolicy标记。)