F# 未定义XmlProvider FS0039中的域类型

F# 未定义XmlProvider FS0039中的域类型,f#,type-providers,f#-data,F#,Type Providers,F# Data,我正在尝试使用FSharp.dataxmlprovider。 根据示例,您可以访问嵌套类型并创建一个函数,该函数将接收这些类型之一的参数。 (第177行) 但是,当我尝试执行以下操作时: type businessesT = XmlProvider<"Businesses.xml"> type businessT = businessesT.DomainTypes.Business let testfunc (b:businessesT.DomainTypes.Business) =

我正在尝试使用FSharp.dataxmlprovider。 根据示例,您可以访问嵌套类型并创建一个函数,该函数将接收这些类型之一的参数。 (第177行)

但是,当我尝试执行以下操作时:

type businessesT = XmlProvider<"Businesses.xml">
type businessT = businessesT.DomainTypes.Business
let testfunc (b:businessesT.DomainTypes.Business) = 
    b
type businessesT=XmlProvider
类型businessT=businessesT.DomainTypes.Business
让testfunc(b:businessesT.DomainTypes.Business)=
B
直到我真正编译,然后我得到

错误FS0039:未定义“业务”类型

更新: 这个问题可以通过FSharp.Data(XmlProvider.fsx)中的示例重现 在第205行之后添加类型别名

type Rss = XmlProvider<"http://tomasp.net/blog/rss.aspx">
type test = Rss.DomainTypes.Channel
type Rss=XmlProvider
类型测试=Rss.DomainTypes.Channel

奇怪的是,带有printDiv函数的示例正在工作…

这很可能是由于加载类型提供程序时出现问题造成的-如果编译器未能加载类型提供程序,则无法运行它,因此不会定义提供的类型,如
Business

您是在脚本文件中使用
#r
,还是在项目中通过“添加引用”引用类型提供程序?如果您使用的是
#r
,请检查该行上是否有任何错误消息。对于项目,请检查编译器输出的其他错误消息


我已经列出了。

这可能与FSharp中修复的问题相同。数据1.1.10

很抱歉,缺少详细信息。已加载提供程序。我正在使用Add引用,并且能够使用提供程序读取xml。我不能做的是访问DomainTypes下的嵌套类型。我使用fsx文件做了一个快速测试,就像在示例页面中一样,但是当我尝试定义接收嵌套类型的函数时,我得到了相同的错误。我使用的是VS2012,但确实安装了VS2013,不确定它是否会干扰。