gpt4 book ai didi

.net - 充分了解 .NET 版本和向后兼容性

转载 作者:行者123 更新时间:2023-12-04 02:28:13 30 4
gpt4 key购买 nike

我有一个 .NET 2.0 应用程序,我计划制作一个“智能安装程序”,它会检查用户 PC 上可用的 .NET 版本并为其安装我的特定端口。
我看到了:

  • Windows XP (SP2) 附带 .NET 2.0
  • Windows Vista 附带 .NET 3.0
  • Windows 7 附带 .NET 3.5
  • Windows 8 附带 .NET 4.5

  • 据我所知,唯一不向后兼容的是 CLR 版本,它在 .NET 4.0 之后发生了变化。

    因此,如果我不希望用户仅为我的应用程序安装额外的框架,我应该拥有我的应用程序的这些版本:
  • .NET 2.0 - XP(SP2 及更高版本)、Vista(3.0 应该能够运行 2.0)和 7(3.5 应该能够运行 2.0)
  • .NET 4.0 - 如果有人只安装了 4.0 而没有其他的
  • .NET 4.5 - 适用于没有安装其他 .NET 的 Windows 8 用户

  • 我对吗?还是 4.5/4.0 向后兼容?

    编辑:如果上面的任何数据不正确,请纠正我

    最佳答案

    As far as I know, the only thing that's not backward compatible is the CLR version, which is changed after .NET 4.0.



    这不是真的。您可以使 .NET2 编译的应用程序在 .NET4 框架上运行。

    您只需要将以下内容添加到您的 app.config 中:
    <configuration>
    <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
    </configuration>

    注意,我同意@KingKronus,即 Why not just pick the lowest common denominator?
    在您的情况下,这将是 .NET2 编译的,并且只有一组 pdbs 和一组编译集。

    是的,您需要测试您的 .NET2 编译的应用程序在 .net4 运行时运行正常,但无论如何您都需要在原始解决方案的每个框架中测试您的应用程序。

    关于.net - 充分了解 .NET 版本和向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13915498/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com