F#4.0代码以交互方式运行,但在VS2015中无法编译

时间:2016-08-25 08:44:48

标签: visual-studio f#

我安装了以下内容:

  • Visual Studio 2015(包括F#4.0 /在“扩展和更新”选项卡中安装的列表)
  • F#4.0(也在PATH中设置)

以下行不能在我的Visual Studio中编译:

List.contains 1 [1;2]

>> error FS0039: The value, constructor, namespace or type 'contains' is not defined

但是在Powershell上的FSI运行以及Visual Studio中的FSI运行正常。 Powershell FSI和VS FSI也显示相同的F#Interactive版本号。

为什么它以交互方式运行,但没有编译?

1 个答案:

答案 0 :(得分:6)

检查项目属性页面,在第一个选项卡上,“Target F#Runtime”应设置为4.4.0.0。

如果已经,请检查您使用的NuGet包是否未添加对FSharp.Core 3.something的引用 - 如果有,则NuGet更新选项卡应提供版本4,因此请更新到该版本。

同时检查App.config是否未将FSharp.Core重新映射到4.3版本,否则您将收到有关缺少方法的奇怪运行时错误。