【问题标题】:Does .NET framework 4 includes version 3?.NET 框架 4 是否包含版本 3?
【发布时间】:2011-07-13 18:36:04
【问题描述】:

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

我有一个需要 .NET Framework 3 的库,但我安装了版本 4,我需要安装一些东西吗?同样的问题也适用于其他人何时下载我的代码:我需要给出什么指令。

【问题讨论】:

    标签: .net backwards-compatibility


    【解决方案1】:

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

    正如@marc_s 在 cmets 中提到的那样 如果您确实需要 CLR v2 (.NET 2.0/3.0/3.5) 以用于某些原因,则需要单独安装合适的 .NET 框架 - .NET 4 可以不包括“旧”CLR v2

    【讨论】:

    • +1 好点 - 但是,如果您确实需要 CLR v2 (.NET 2.0/3.0/3.5) 出于某些原因,您需要单独安装合适的 .NET 框架 - .NET 4不包括“旧”CLR v2
    • @marc_s,是的,这是真的。很好的一点。我将更新我的答案以将其考虑在内。
    【解决方案2】:

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

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

    【讨论】:

    • +1。 @Matthieu:请在 4.0 中重新编译您的库,现在它只有一个库。否则你将很难维持它:)
    猜你喜欢
    • 2012-01-04
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多