重新加载类型提供者

nic*_*las 6 f# visual-studio type-providers

我正在使用fsharp powerpack示例中提供的MiniCSVTypeProvider.

不幸的是,它认为提供的值是浮动的,而我的是各种(变化的)格式.因此,我重写了MiniCsvType提供程序,以便始终提供字符串,将解析工作留给调用者.

但由于某些奇怪的原因,在解除引用旧DLL并包含对新DLL的引用之后,它使用旧类型提供程序继续提供浮动.我不得不更改程序集和类的名称以使VS刷新它.

有没有其他方法可以撤销/重置以前的类型提供程序,以便VS将更改考虑在内?

Bri*_*ian 7

通常,在开发类型提供程序时,您需要关闭正在使用类型提供程序的VS实例才能更新提供程序.一个常见的工作流程是拥有两个VS实例:一个用于处理类型提供程序本身的代码,一个保持打开状态,另一个用于引用/使用/测试提供程序,每次进行更改时都会关闭.消费者VS经常将DLL锁定在磁盘上,也无法将程序集卸载/重新加载到其进程中,这就是为什么需要结束VS进程来迭代类型提供程序实现的原因.


Ste*_*anu 1

有点晚了,但遇到了同样的问题,我通过从“工具”->“选项”->“F# 工具”->“类型提供程序”停用并重新激活类型提供程序来解决它。(我用的是VS2013)