加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

具有可移植库的F#类型提供程序

发布时间:2020-12-14 05:25:36 所属栏目:Windows 来源:网络整理
导读:我正在构建一个 Windows 8应用程序,并且发现自己想要包含一个 ISO-4217代码列表,我在XML中使用了最新的形式. 当然,所有国家都有这些代码.我认为Type Provider非常适合.但是,由于它们发出代码,我不能将它们与Portable Libraries一起使用. 如何编译类型提供程
我正在构建一个 Windows 8应用程序,并且发现自己想要包含一个 ISO-4217代码列表,我在XML中使用了最新的形式.

当然,所有国家都有这些代码.我认为Type Provider非常适合.但是,由于它们发出代码,我不能将它们与Portable Libraries一起使用.

如何编译类型提供程序,以便它不使用emit,以便使用XML I’ve got?

解决方法

我没有创建可从可移植库中使用的类型提供程序的经验,但您似乎假设类型提供程序在运行时发出代码.这实际上并不正确,因此在Portable设置中使用它们可能会更容易.

运行F#编译器时会执行类型提供程序.在这一点上,它可能会生成一些类型,虽然只有一种类型提供者实际上这样做(有两种不同的类型 – 请参阅此SO answer).但是,在编译使用F#类型提供程序的代码时,生成的程序集不会在运行时发出任何代码.

我认为Freebase type provider(在FSharpX中可用)是在便携模式下工作的提供程序的示例.我怀疑这个技巧的一部分是将提供程序拆分为两个程序集 – 一个包含运行时需要的代码,另一个包含设计时组件(构建类型信息,尽管它们也不需要发出).请参阅FreebaseRuntime.fs中的TypeProviderAssembly属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读