无法从 FSharp.Data 实例化任何 F# 类型提供程序

Jim*_*oye 5 f# type-providers

我正在尝试为 CSV 类型提供程序重新创建最简单的示例:

  • 我在 Visual Studio 2015 中创建一个库项目,默认情况下该目标面向 F#4.0 和 .NET 4.5.2。
  • 我通过 NuGet 添加 FSharp.Data 2.2.5。

我的项目中已经出现一个错误和一个警告:

类型提供程序“ProviderImplementation.JsonProvider”报告错误:类型提供程序构造函数引发异常:API 限制:程序集“file:///c:\users\james foye\documents\visual studio 2015\Projects\CsvExample\” packages\FSharp.Data.2.2.5\lib\net40\FSharp.Data.dll' 已从其他位置加载。无法从同一应用程序域内的新位置加载它。CsvExample c:\users\james foye\documents\visual studio 2015\Projects\CsvExample\CsvExample\Library1.fs 1

引用的程序集“c:\users\james foye\documents\visual studio 2015\Projects\CsvExample\packages\FSharp.Data.2.2.5\lib\net40\FSharp.Data.dll”具有程序集级别属性“Microsoft.FSharp”。 Core.CompilerServices.TypeProviderAssemblyAttribute',但未找到公共类型提供程序类 CsvExample c:\users\james foye\documents\visual studio 2015\Projects\CsvExample\CsvExample\Library1.fs 1

所有实例化提供程序的尝试都会失败,例如:

打开 FSharp.Data;;

让 yahoo = CsvProvider<"sample.csv">;;

C:\Data\Ebooks\F#\Deep Dives\Source\Chap6\YahooProvider\stdin(4,13):错误 FS0039:未定义值或构造函数“CsvProvider”

我做什么来处理路径并不重要(提供完整路径、更改 FSI 的工作目录等)

Jim*_*oye 1

我无法深入了解编译器错误,它几乎看起来像是 Visual Studio、NuGet 或工具链的其他部分的某个错误。但正如 mpeac 建议的那样,只需重新启动 VS 即可清除它。

完成此操作后,我需要将代码从声明 let 绑定更改为定义类型。我刚刚错误地输入了“let =”而不是“type =”。