我正在使用Visual Studio 2013 Ultimate构建一个F#控制台应用程序.目标框架是.Net 4.5
我的计算机上安装的FSharp.Core版本(大概是通过安装VS 2013)是4.3.1.0.
在NuGet上有两个版本的FSharp.Core,4.0.0发布于2012年4月12日,另一个版本的ID为Fsharp.Core.3 verison 0.0.2发布于2013年3月5日.
我正在寻找关于何时应该使用这些版本的指导,版本编号令我感到困惑,我本来希望在NuGet上找到最新的产品版本.
我错过了什么吗?
lat*_*kin 49
你不应该从nuget获得FSharp.Core.微软今天没有发布任何正式的F#比特(虽然这可能会在将来发生变化).第三方软件包通常捆绑 FSharp.Core(因为可能是用于测试/验证第三方组件的版本),但是nuget目前不应该用作获取FSharp.Core更新或新版本的机制.
FSharp.Core的版本化故事令人遗憾地相当复杂,绝对不像"更高版本意味着更新"那么简单.要实现的一个关键事项是,有两个轴 - 运行时支持的F#版本,以及它所针对的.NET框架版本/配置文件.
以下是VS 2013附带的官方FSharp.Core版本(请查看这些版本%ProgramFiles(x86)%\Reference Assemblies\Microsoft\FSharp).
.NET便携式配置文件是一个很大的PITA,并且导致很多复杂性.这个网站有一个很好的总结,以帮助理解:http://blog.stephencleary.com/2012/05/framework-profiles-in-net.html
因此,对于您的特定方案(新控制台应用程序),请使用4.3.1.0.
编辑7/2015:
这是一张表,可能比上面的文字墙更好地解释了这个故事.我试图用颜色来表明版本号的动机.你会看到可移植库的版本在VS 2012和2013中有点临时和不一致,但从VS 2015开始,它最终是一致且可预测的.这是刚刚发布的F#4.0的最新版本.