【问题标题】:BCL.Async issue with F# projectF# 项目的 BCL.Async 问题
【发布时间】:2015-06-07 10:10:35
【问题描述】:

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

“内部语言服务遇到严重错误。语法着色或其他功能可能会停止工作。如果您遇到此类问题,可以按以下方式修复:(1) 清除当前解决方案 (2) 重新启动 Visual Studio (.."

不用说两者都行不通。

【问题讨论】:

  • 为我工作 VS 2013 Update 4,项目设置:.NET 4.5, F# 3.1 (FSharp.Core, 4.3.1.0)

标签: f# nuget base-class-library


【解决方案1】:

当项目针对 .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.DataSystem.ServiceModelSystem.ServiceModel.Discovery的引用,这样才能编译项目。当项目可编译时,着色恢复正常。

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

【讨论】:

  • 酷,我去看看。您是如何确定添加这三个程序集的?
  • 呃,我试着编译了。错误列表一一告诉我缺少哪个程序集。
  • 好的,我收到 System.Threading.Tasks.dll 的错误 - 一旦我添加它就可以了。
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多