我在交互式控制台中加载FSharp.Data。加载库时没有任何问题:
> #r "FSharp.Data.dll";;
--> Referenced 'C:\Users\pw\AppData\Local\Temp\FSharp.Data.dll' (file may be locked by F# Interactive process)
> open FSharp.Data;;
但是,当我尝试初始化CsvProvider
(在FSharp.Data
中定义)时,我收到错误消息,说明类型未定义:
> type Stocks = CsvProvider<"C:\Users\pw\Downloads\msft.csv">;;
type Stocks = CsvProvider<"C:\Users\pw\Downloads\msft.csv">;;
--------------^^^^^^^^^^^
stdin(62,15): error FS0039: The type 'CsvProvider' is not defined
我认为问题可能出在文件和程序集路径上,但现在我使用绝对路径并且错误仍然存在。另一方面,当我创建一个标准的,而不是交互式的项目时,我能够使用CsvProvider。任何帮助使其在交互式会话中工作的高度赞赏。
答案 0 :(得分:2)
关于文件被锁定的警告看起来令人担忧。您可以在某处复制FSharp.Data
并使用绝对路径引用它:
\#r @"C:\Poligon\packages\FSharp.Data.2.1.0\lib\net40\FSharp.Data.dll";;