2015-04-02 26 views
0

使用最新的VS2013,如果我創建一個乾淨的控制檯應用程序並向BCL.Async添加nuget引用,則VS中的所有着色都會死亡。然後您將獲得: -使用F#項目的BCL.Async問題

「內部語言服務遇到嚴重錯誤,語法着色或其他功能可能會停止工作,如果遇到此類問題,可以修復如下:(1)清理當前解決方案(2)重新啓動Visual Studio中(..」

不用多說既不作品。

+0

工作對我VS 2013更新4,項目設置:.NET 4.5,F#3.1(FSharp.Core,4.3.1.0) – Petr 2015-04-02 12:53:53

回答

1

bug是攝製-ED時,該項目的目標.NET 4.0,但不是在它的目標.NET 4.5。

需要明確的是,該錯誤消息來源於Visual F#Power Tools(請參閱https://github.com/fsprojects/VisualFSharpPowerTools/blob/bc76dc272cb941fdbc04e2a0d203a685c5d3bc84/src/FSharpVSPowerTools.Logic/Resource.fs#L55)。發生了什麼事是FSharp.Compiler.Service新添加的程序集上的扼流圈並向上層引發異常。

當我從NuGet程序包控制檯安裝Microsoft.BCL.Async時,出現一些安裝錯誤。所以我不得不手動添加對System.Data,System.ServiceModelSystem.ServiceModel.Discovery的引用,以便編譯項目。當項目可編譯時,彩色化會恢復正常。

也就是說,錯誤信息可以改進,以避免如此可怕。

+0

很酷,我會檢查出來。你是怎麼想出來添加這三個程序集的? – 2015-04-02 13:32:44

+0

呃,我試着編譯。錯誤列表告訴我哪個程序集丟失,一個接一個。 – pad 2015-04-02 13:33:37

+0

奇怪。我沒有得到那個編譯器錯誤。 – 2015-04-02 14:00:25