F# Fsharpc无法生成fsi文件

F# Fsharpc无法生成fsi文件,f#,f#-data,F#,F# Data,我正在尝试为特定的fs文件生成fsi文件 Config.fs: 名称空间Web2 打开FSharp.Data 模块配置= 类型JsonConfig= JsonProvider 让配置= JsonConfig.Load(“./config.json”) 生成签名文件: fsharpc--sig:Config.fsi Config.fs 错误: Microsoft (R) F# Compiler version 10.2.3 for F# 4.5 Copyright (c) Microsoft

我正在尝试为特定的fs文件生成fsi文件

Config.fs:

名称空间Web2
打开FSharp.Data
模块配置=
类型JsonConfig=
JsonProvider
让配置=
JsonConfig.Load(“./config.json”)
生成签名文件:

fsharpc--sig:Config.fsi Config.fs
错误:

Microsoft (R) F# Compiler version 10.2.3 for F# 4.5
Copyright (c) Microsoft Corporation. All Rights Reserved.

Config.fs(8,5): error FS0039: The type 'JsonProvider' is not defined.
Config.fs(8,5): error FS0039: The type 'JsonProvider' is not defined.
Config.fs(11,16): error FS0039: The field, constructor or member 'Load' is not defined.

不确定我做错了什么。

问题是
Config.fs
中的代码依赖于
JsonProvider
,它来自
FSharp.Data.dll
库-但是调用编译器时,您没有指定依赖项

您可以使用
-r
命令行选项执行此操作:

fsharpc -r:whatever/folder/FSharp.Data.dll --sig:Config.fsi Config.fs

通常,如果要编译项目,则在项目文件中指定了引用,因此无需在其他位置指定它们。但是当您直接调用编译器时,您需要这样做。

非常好,谢谢!是否有生成fsi文件的最佳实践?