f# - 类型 'XmlProvider' 未定义

标签 f# type-providers f#-data

我正在尝试使用 FSharp.Data第三方库,但出现错误 The type 'XmlProvider' is not definedXmlProvider类。

namespace KMyMoney

open FSharp.Data

  module Read =

    let xml = File.ReadAllText("KMyMoneySampleFile.xml")
    type KMyMoneySource = XmlProvider<xml>

我正在使用 NuGet 来获取库。库是“FSharp.Data 1.1.8”

当我输入 FSharp.Data. 时有四个选项:Csv , FreebaseOperators , Json , 和 RuntimeImplementation .

我错过了什么吗?我对 F# 比较陌生。所以,很抱歉这个简单的问题。我在 GitHub 上查看过,但没有看到任何提及此问题的内容。我正在 F# 中创建一个库。

最佳答案

<> 之间的参数是 Sample类型提供程序的参数,它必须是编译时常量。该示例用于推断 xml 的结构。

试试这个:

namespace KMyMoney

open FSharp.Data

module Read =

    type KMyMoneySource = XmlProvider<"KMyMoneySampleFile.xml">

然后做

let xml = KMyMoneySource.Load("KMyMoneySampleFile.xml")

或者,如果您正在读取与 XmlProvider 示例参数相同的文件,请执行以下操作:

let xml = KMyMoneySource.GetSample() 

请注意,Type Providers 是 F# 3.0 的一个特性,所以这只适用于 VS2012 或更高版本。如果你使用的是 VS2010,你只会得到一堆语法错误。

关于f# - 类型 'XmlProvider' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625514/

相关文章:

f# - 类型提供程序可以作为参数传递给函数吗

f# - 如何检查列表是否包含具有类型的可区分联合案例?

generics - 创建辅助非泛型构造函数时 F# 中的编译器错误

.net - 在 Fsharp 中将 XML 文件转换为 CSV 文件

带有本地 wsdl 文件的 F# Web 服务数据提供程序

f# - CsvFile.InferColumnTypes 不适用于 FSharp.Data 2.2.3?

f# - 可以在 F# 中使用 CSVProvider 读取用 gzip (tvs.gz) 压缩的 URL 吗?

f# - 在 F# 中测试空引用

F# 类型提供程序 - 嵌套属性实例化

f# - System.MissingMethodException : Method not found: 'FSharp. Data.HttpResponse