繁体   English   中英

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

[英]F# compiler and runtime version number confusion

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

您正在混淆两种不同的版本号; 不是我责备你 - 我明白如果你是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上打开一个关于此问题的新问题 - 它应该具有与Microsoft的“真正”F#库相同的版本号。 唯一的区别应该是组件签名的公钥。
  • 我不知道为什么新版本不在NuGet上 - 它可能只是被遗忘了。 我现在就打开一个关于这个的问题,以确保它们尽快添加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM