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

时间:2015-12-28 03:02:48

标签: 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年\项目\ CsvExample \包\ FSharp.Data.2.2.5 \ LIB \ net40 \ FSharp.Data.dll'   已经从不同的位置加载。它无法加载   同一appdomain中的新位置。 CsvExample c:\ users \ james   foye \ documents \ visual studio   2015 \ Projects \ CsvExample \ CsvExample \ Library1.fs 1

  

引用程序集&c; \ users \ james foye \ documents \ visual studio   2015年\项目\ CsvExample \包\ 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"&gt ;;;

  

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

使用路径进行操作并不重要(提供完整路径,更改FSI的工作目录等)

1 个答案:

答案 0 :(得分:0)

我无法理解编译器错误的底部,它几乎就像Visual Studio,NuGet或工具链的其他部分中的某个错误。但正如mpeac建议的那样,只需重新启动VS就可以清除它。

一旦我这样做,我需要更改我的代码,从声明一个let绑定到定义一个类型。我错误地键入了“let =”而不是“type =”。