Visual studio F#4.0代码以交互方式运行,但不';t在VS2015中编译

Visual studio F#4.0代码以交互方式运行,但不';t在VS2015中编译,visual-studio,f#,Visual Studio,F#,我安装了以下软件: Visual Studio 2015(包括F#4.0/列在“在扩展和更新中安装”选项卡下) F#4.0(也在路径中设置) 以下行不会在我的Visual Studio中编译: List.contains 1 [1;2] >> error FS0039: The value, constructor, namespace or type 'contains' is not defined 但在Powershell上运行的FSI以及Visual Studio中的

我安装了以下软件:

  • Visual Studio 2015(包括F#4.0/列在“在扩展和更新中安装”选项卡下)
  • F#4.0(也在路径中设置)
以下行不会在我的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中运行,但不编译吗?

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

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


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

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

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


另外,请检查App.config是否未将FSharp.Core重新映射到4.3版本,否则您将得到一个关于缺少方法的奇怪运行时错误。

编译器错误是什么?我在问题中包含了错误消息,您的项目引用了FSharp.Core.dll的哪个版本?它是4.3.1,更改目标运行时(如@marklam Suggered)修复了问题什么是编译器错误?我在问题中包含了错误消息,您的项目引用了什么版本的FSharp.Core.dll?它是4.3.1,更改目标运行时(如@marklam Suggered)修复了问题