F#编译器和运行时版本号混淆

时间:2013-01-19 15:28:35

标签: .net f# mono nuget

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

1 个答案:

答案 0 :(得分:6)

您正在混淆两种不同的版本号;不是我责怪你 - 我理解如果你是F#和/或.NET的新手会让你感到困惑。

  • 正确。 FSharp.Core的2.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上打开一个关于此问题的新问题 - 它应该具有与“true”F#相同的版本号来自Microsoft的图书馆。唯一的区别应该是组件签名的公钥。
  • 我不知道为什么新版本不在NuGet上 - 它可能只是被遗忘了。我现在就打开一个关于此的问题,以确保它们尽快添加。
相关问题