【问题标题】:CsvProvider type not defined未定义 CsvProvider 类型
【发布时间】:2016-02-10 03:49:22
【问题描述】:

我正在尝试将 CsvProvider 用于 f#,但它说即使我正在导入 FSharp.Data 也没有定义类型。

open FSharp.Data

type test = CsvProvider<"C:\\First_Names.csv">

我没有使用交互式脚本。这是一个 .fs 文件。它没有告诉我找不到 FSharp.Data。它甚至在智能感知中。

有什么方法可以诊断这个问题,因为我现在不知所措。

【问题讨论】:

  • 您是否正确添加了引用?
  • 如果您也发布实际的错误消息,它可能有助于我们的心理调试能力;)
  • 我只需要从 nuget 下拉 FSharp.Data。我不确定为什么它没有抛出错误,这可能与艾萨克亚伯拉罕的回答有关。

标签: f# f#-data


【解决方案1】:

这可能是因为您引用了 FSharp.Data.SqlClient 或 FSharp.Data.TypeProviders(来自 F#3 发行版)。两者都使用该命名空间层次结构。

这与命名空间在 C# 或 VB .NET 中的工作方式相同。

【讨论】:

  • 我拉下了FSharp.Data的nuget包,然后找到了CsvProvider。您是说 F#3 发行版中的默认 FSharp.Data 已过时?
  • 有一个不同的包 - FSharp.Data.TypeProviders - 再次具有该命名空间。它与 FSharp.Data 完全不同。
  • 如果您参考了正确的 FSharp.Data 包 - 您是在使用脚本还是在完整的 .fs 文件中工作?如果是后者 - 它应该开箱即用。如果是前者 - 你需要 #r 到 DLL。
  • 我有一个成熟的 .fs 文件。这对我来说有点模糊。我仍然不明白为什么它不起作用。我猜我之前使用的命名空间已经过时了?我不知道。但它现在正在发挥作用,我面临着新的“解决方案机会”。
  • @IsaacAbraham 我有同样的错误,Intellisense 甚至也能正常工作。我没有引用 FSharp.Data.SqlClient 或 FSharp.Data.TypeProviders。还有什么可能导致这种情况吗?
猜你喜欢
  • 1970-01-01
  • 2015-08-15
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
  • 2012-07-19
  • 2020-09-04
  • 1970-01-01
相关资源
最近更新 更多