Рабочий пример поставщика сгенерированных типов [закрыт]

Может ли кто-нибудь указать мне на рабочий пример сгенерированных типов F # TypeProvider? В идеале на основе пакета образцов F# библиотеки "ProvidedTypes-*.fs".

Я попробовал «GeneratedTypeProvider» из пакета образцов F # 3.0, но он у меня не работает. Я получил "..."FSharpLib.T" не содержит определения для "F1", и не удалось найти метод расширения "F1", принимающий первый аргумент типа "FSharpLib.T" (вы пропустили директиву использования или ссылка на сборку?)" для проекта C#. Меня не очень волнует проект С# (ConsoleApplication1), но когда я изменил ConsoleApplication2 для запуска в качестве консольного приложения, которое вызывает T.F1, я получил страшную ошибку «Ошибка в pass3 для типа FSharpLib.Program, ошибка: Ошибка в GetMethodRefAsMethodDefIdx для 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, что, безусловно, неоптимально.

Не уверен насчет проекта "Игровая площадка" от colinbull на GitHub, потому что кажется, что он просто копирует типы из другой сборки.


person Dmitry Morozov    schedule 06.05.2013    source источник


Ответы (1)


В целом проект Tests в пакете примеров содержит тесты как для стертых, так и для сгенерированных поставщиков типов. Однако, когда я запускаю тесты, я вижу ту же ошибку, что и у вас - кажется, что API "предоставленных типов" недавно был частично нарушен - теперь исправлено (по крайней мере, для тестового проекта, не пробовал образец GeneratedTypeProvider)

person desco    schedule 06.05.2013
comment
Спасибо. GeneratedTypeProvider работает. - person Dmitry Morozov; 07.05.2013