【问题标题】:F# compiler and runtime version number confusionF# 编译器和运行时版本号混淆
【发布时间】:2013-01-03 03:52:26
【问题描述】:

我无法确定应将哪个版本的 F# Core 运行时库与 Mono 平台 (.NET 3.5) 结合使用。

  • 随 Microsoft .Net 4.5 一起安装的 FSharp Core 运行时有两个版本,2.3.0.0 和 4.3.0.0。我的猜测是第一个用于 .NET framework 2.0 及更高版本,而第二个只能用于 .NET 4.0 或更高版本。这个假设正确吗?
  • 由于 FSharp 现在是开源的并且在 Github 上可用,我可以查看最近的标签,构建它并使用它在我的项目中生成的 FSharp.Core dll。我不知道开源 FSharp 上的版本号与 .NET 包中包含的闭源版本有何关系?
  • 现在开源编译器版本是3.0.25,闭源编译器好像是4.0,我一头雾水:
    • 开源项目中的 FSharp.Core Runtime 版本(也是 3.0.25)与闭源 2.3.0.0 版本有何关系?由于数字 3.0.25 远高于 2.3.0.0 我假设开源版本更新很多,但我不太确定,因为我不知道是否可以比较版本号。
    • 另一方面,NuGet 提供 FSharp.Core 2.0 和 4.0,这似乎已经很老了。为什么新版本尚未上传到 NuGet?

【问题讨论】:

    标签: .net f# mono nuget


    【解决方案1】:

    您将两种不同的版本号混为一谈;但这并不是我责备你——我理解如果你是 F# 和/或 .NET 的新手,这会造成混乱。

    • 正确。 2.3.0.0 版本的 FSharp.Core 用于 .NET 2.0(以及 3.0 和 3.5,它们(基本上)是 .NET 2.0 的扩展版本); 4.3.0.0 版本适用于 .NET 4.0 和 4.5。
    • F# 的最新版本是 F# 3.0。这是 Visual Studio 2012 附带的版本。注意:这里,3.0 是 语言 版本,与您想要的 .NET Framework 版本无关跑步。 GitHub 上的 F# 存储库使用修订标签(即 3.0.25 的 .25 部分),因此更容易判断您是否需要更新到新版本;更改通常只是构建脚本、安装程序等 - 但很少更改 F# 编译器和/或库。
    • 如果您从 F# GitHub 存储库构建代码并且编译后的 FSharp.Core 程序集的版本为 3.0.25,请在 Github 上打开一个关于此问题的新问题 - 它应该与“真正的”F# 具有相同的版本号来自 Microsoft 的库。唯一的区别应该是程序集所使用的公钥。
    • 我不知道为什么新版本不在 NuGet 上——它可能只是被遗忘了。我现在将打开一个关于此的问题,以确保尽快添加它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      相关资源
      最近更新 更多