首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成类型提供程序编译时错误

生成类型提供程序编译时错误
EN

Stack Overflow用户
提问于 2018-10-20 00:44:42
回答 2查看 174关注 0票数 0

我在FSharp.Data.SqlClient的一个分支上遇到了一个问题,我正在与生成SqlEnumProvider类型提供程序一起工作。当测试项目计划使用提供的类型时,我得到以下编译时错误:

A problem occurred writing the binary 'C:\code\FSharp.Data.SqlClient\src\SqlClient.Tests\obj\Debug\net451\SqlClient.Tests.dll': Error in pass3 for type FSharp.Data.EnumTests, error: Error in GetMethodRefAsMethodDefIdx for mref = ("Parse", "TinyIntMapping"), error: Exception of type 'Microsoft.FSharp.Compiler.AbstractIL.ILBinaryWriter+MethodDefNotFound' was thrown.

在设计时,一切似乎都如期而至。(我对所提供的类型具有intellisense等)

我试图解决here的建议,但没有joy。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-23 13:36:38

原来答案是在SDK中的示例模板中,我只是读得不够仔细:

  • 应该将提供者类型(例如,SqlEnumProvider)添加到正在执行的程序集中。
  • 根类型(例如,SqlEnumProvider<"SELECT * FROM (VALUES(('One'), 1), ('Two', 2)) AS T(Tag, Value)">)应该添加到提供的程序集中。

在失败的代码中,我们将根类型添加到两个程序集。

票数 1
EN

Stack Overflow用户

发布于 2018-10-22 09:00:34

如何使用容器方法,将所提供的所有类型放置到一个容器中,并对所需的每个类型进行解码?

我在我的许多类型提供程序中使用了这一点,请查看iOS设计器类型提供程序以供参考:https://github.com/xamarin/fsharp-iOS-designer/blob/master/src/Xamarin.iOSProviders/iOSDesignerProvider.fs#L64-L86

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52901474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档