我在尝试重建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
所有实例化提供程序的尝试都失败了,例如:
open FSharp.Data;;
let yahoo = CsvProvider<"sample.csv">;;
C:\Data\Ebooks\F#\Deep Dives\Source\Chap6\YahooProvider\stdin(4,13): 错误 FS0039: 未定义值或构造函数 'CsvProvider'
无论我如何调整路径(提供完整路径、更改FSI的工作目录等),都不起作用。