5

有人可以指出生成类型 F# TypeProvider 的工作示例吗?理想情况下,基于 F# 示例包“ProvidedTypes-*.fs”库。

我尝试了 F# 3.0 Sample Pack 中的“GeneratedTypeProvider”,但它对我不起作用。我收到“...'FSharpLib.T' 不包含'F1' 的定义,并且找不到接受'FSharpLib.T' 类型的第一个参数的扩展方法'F1'(您是否缺少 using 指令或程序集参考?)”用于 C# 项目。我不太关心 C# 项目(ConsoleApplication1),但是当我将 ConsoleApplication2 更改为作为调用 T.F1 的控制台应用程序运行时,我收到可怕的“FSharpLib.Program 类型的 pass3 错误,错误:GetMethodRefAsMethodDefIdx for mref =”F1 中的错误“,错误:抛出了‘Microsoft.FSharp.Compiler.AbstractIL.ILBinaryWriter+MethodDefNotFound’类型的异常。” 老实说,源代码与 http://apollo13cn.blogspot.com/2013/01/generated-type-provider-and-code.html

我还查看了http://code.google.com/p/froto/source/browse/Gen/ProtoTypeProvider.fs。我没有编译/运行该项目,但它没有使用 Sample Pack,这肯定不是最佳的。

不确定 GitHub 上 colinbull 的“Playground”项目,因为它似乎只是从其他程序集中复制类型。

4

1 回答 1

2

通常,示例包中的 Tests 项目包含对已擦除和生成的类型提供程序的测试。但是,当我运行测试时,我看到了与您相同的错误-似乎“提供的类型”API最近部分损坏-现在已修复(至少对于测试项目,尚未尝试 GeneratedTypeProvider 示例)

于 2013-05-06T19:52:41.557 回答