我安装了以下内容:
以下行不能在我的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版本号。
为什么它以交互方式运行,但没有编译?
答案 0 :(得分:6)
检查项目属性页面,在第一个选项卡上,“Target F#Runtime”应设置为4.4.0.0。
如果已经,请检查您使用的NuGet包是否未添加对FSharp.Core 3.something的引用 - 如果有,则NuGet更新选项卡应提供版本4,因此请更新到该版本。
同时检查App.config是否未将FSharp.Core重新映射到4.3版本,否则您将收到有关缺少方法的奇怪运行时错误。