2016-08-25 35 views
1

我裝不編譯如下:F#4.0代碼中的互動運行,但在VS2015

  • 的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#交互版本號。

任何想法爲什麼它運行在交互式,但不編譯?

+0

什麼是編譯器錯誤? – ildjarn

+0

我在問題中包含了錯誤信息 –

+2

FSharp.Core.dll的哪個版本會引用您的項目? – ildjarn

回答

6

檢查項目屬性頁面,第一個選項卡上的「Target F#Runtime」應該設置爲4.4.0.0。

如果已經存在,請檢查您使用的NuGet包是否未添加對FSharp.Core 3.something的引用 - 如果有,則NuGet更新選項卡應提供版本4,因此更新到該版本。

此外,請檢查App.config是否將FSharp.Core重新映射到4.3版本,否則您會收到有關缺少方法的奇怪運行時錯誤。

+0

修復它,謝謝! –

相關問題