7

我无法确定哪个版本的 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?
4

1 回答 1

6

您将两种不同的版本号混为一谈;不过,这并不是我责怪你——我理解如果你是 F# 和/或 .NET 的新手,这可能会让你感到困惑。

  • 正确的。FSharp.Core2.3.0.0版本用于 .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 上打开一个关于此问题的新问题——它应该与 Microsoft 的“真正”F# 库具有相同的版本号. 唯一的区别应该是签署程序集的公钥。
  • 我不知道为什么新版本不在 NuGet 上——它可能只是被遗忘了。我现在将打开一个关于此的问题,以确保尽快添加它们。
于 2013-01-19T21:44:49.833 回答