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

Dan*_*eny 5 .net f# f#-3.0 visual-studio-2012

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

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

  1. 我可以使用F#3.1和.NET 4.5,还是F#3.1需要.NET 4.5.1?(VS让我选择这个组合)
  2. 针对F#3.1的项目是否可以在安装了VS2012且没有安装新运行时的计算机上运行?我看到一篇博文提到了"F#运行时"; 但FSharp.Core.dll包含在我的构建中,所以目前还不清楚这是否足以使用3.1?

(目标3.0没什么大不了的; 3.1中似乎没有大量数据;但了解这些事情的相关性会很有用).

Wei*_* Ye 3

回答1:

\n\n

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

\n\n

是的你可以

\n\n
    \n
  • 4.3.1.0 (F# 3.1/.NET 4) 这是最新的官方版本。除非您需要以 .NET 2 为目标,或者您正在使用一些无法与 3.1 一起使用的旧版 F# 组件,否则您应该将这个版本用于任何新的桌面应用程序。
  • \n
  • 4.3.0.0 (F# 3.0/.NET 4) 这些与 VS 2012 附带的位相同。包含它是为了让您可以继续在 VS 2013 中处理 F# 3.0 项目,而无需将其重新定位到 3.1。如果您有一个旧版 F# 3.0 桌面项目,\n但尚未准备好迁移到 3.1,则应使用\n此选项。
  • \n
\n\n

回答2:

\n\n

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

\n