BCL.Async F# 项目的问题

BCL.Async issue with F# project

使用最新的 VS2013,如果我创建一个干净的控制台应用程序并添加对 BCL.Async 的 nuget 引用,VS 中的所有着色都会消失。然后你得到:-

"Internal language services have encountered severe errors. Syntax coloring or other features may stop working. If you experience such issues, they could be fixed as follows: (1) Clean current solution (2) Restart Visual Studio (.."

不用说,两者都行不通。

当项目以 .NET 4.0 为目标时会重现此错误,但在以 .NET 4.5 为目标时则不会。

明确地说,错误消息源自 Visual F# Power Tools(请参阅https://github.com/fsprojects/VisualFSharpPowerTools/blob/bc76dc272cb941fdbc04e2a0d203a685c5d3bc84/src/FSharpVSPowerTools.Logic/Resource.fs#L55). What happened is that FSharp.Compiler.Service 阻塞新添加的程序集并向上层抛出异常。

当我从 NuGet 包控制台安装 Microsoft.BCL.Async 时,出现一些安装错误。所以我不得不手动添加对System.DataSystem.ServiceModelSystem.ServiceModel.Discovery的引用,这样项目才能编译。当项目可编译时,着色恢复正常。

也就是说,可以改进错误消息以避免如此可怕。