F#3.1是否需要安装特定的运行时?

时间:2014-05-05 09:41:07

标签: .net visual-studio-2012 f# f#-3.0

我已经编写了一些支持VS2012 + VS2013的Visual Studio扩展。我想在其中使用F#;而且我对目标运行时有点困惑......

我的目标是.NET 4.5(而不是4.5.1),但我也可以在F#3.0和3.1之间进行选择。我知道VS2013(和.NET 4.5.1)附带的F#3.1,所以我不确定是否:

  1. 我可以使用F#3.1和.NET 4.5,还是F#3.1需要.NET 4.5.1? (VS让我选择这个组合)
  2. 针对F#3.1的项目是否可以在装有VS2012且未安装新运行时的计算机上运行?我看到一篇博文提到了一个" F#运行时&#34 ;;但FSharp.Core.dll包含在我的版本中,所以不清楚这是否足以使用3.1?
  3. (目标3.0并不是什么大不了的事; 3.1中似乎没有大量数据;但知道这些事情的相关性是有用的。)

1 个答案:

答案 0 :(得分:3)

回答1:

我可以使用F#3.1和.NET 4.5,还是F#3.1需要.NET 4.5.1? (VS让我选择这个组合)

是的,你可以

  • 4.3.1.0(F#3.1 / .NET 4)这是最新的官方版本。除非您要求以.NET 2为目标,否则您正在使用某些 传统的F#组件不能使用3.1,这是你的版本 应该用于任何新的桌面应用程序。
  • 4.3.0.0(F#3.0 / .NET 4)这些与VS 2012附带的位相同。它包含在内,因此您可以继续在VS 2013中处理F#3.0项目,而无需将其重新定位到3.1。你应该用 如果你有一个遗产F#3.0桌面项目,你不是这样 准备搬到3.1了。

回答2:

您可以在任何版本的Visual Studio中打开和使用在Visual Studio 2013或Visual Studio 2012中创建的F#项目,而无需进行任何修改。唯一的例外是,第一次在Visual Studio 2013中打开Visual Studio 2012项目时,Visual Studio会进行一些小的更改,以使项目能够在两个版本中使用。此功能称为往返。 您可以在项目属性的“应用程序”选项卡上指定要定位到哪个版本的F#运行时(和核心库)。如果您要创建一个必须在许多上下文中运行的库,或者您想要参与项目往返,请选择F#3.0。如果选择F#3.0,则无法使用F#3.1中新增的任何语言功能,例如命名的联合案例和增强的数组切片。如果将目标运行时更改为F#3.1,则无法在Visual Studio 2012中重新打开项目。