5

生成された型 F# TypeProvider の実際の例を教えてもらえますか? 理想的には、F# サンプル パックの "ProvidedTypes-*.fs" ライブラリに基づいています。

F# 3.0 Sample Pack の "GeneratedTypeProvider" を試しましたが、うまくいきません。「...'FSharpLib.T' には 'F1' の定義が含まれておらず、タイプ 'FSharpLib.T' の最初の引数を受け入れる拡張メソッド 'F1' が見つかりませんでした (using ディレクティブまたはアセンブリ参照?)」を C# プロジェクトに使用します。C# プロジェクト (ConsoleApplication1) についてはあまり気にしませんが、T.F1 を呼び出すコンソール アプリケーションとして実行するように ConsoleApplication2 を変更したときに、恐ろしい "Error in pass3 for type FSharpLib.Program, error: Error in 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も見ました。私はプロジェクトをコンパイル/実行しませんでしたが、サンプル パックを使用していません。これは確かに最適ではありません。

GitHub の colinbull による「Playground」プロジェクトについては、他のアセンブリから型をコピーするだけのように見えるため、よくわかりません。

4

1 に答える 1

2

一般に、サンプル パックの Tests プロジェクトには、消去された型プロバイダーと生成された型プロバイダーの両方のテストが含まれています。ただし、テストを実行すると、同じエラーが表示されました-「提供された型」APIが最近部分的に壊れているようです-修正されました(少なくともテストプロジェクトでは、GeneratedTypeProviderサンプルを試していません)

于 2013-05-06T19:52:41.557 に答える