如何向F#项目添加第三方dll引用?

如何向F#项目添加第三方dll引用?,f#,f#-interactive,F#,F# Interactive,我正在为我的F#项目添加第三方dll引用。我在引用中添加了dll,当我使用它时,即突出显示代码并执行Alt+Ent,我得到错误“名称空间或模块'AZROLESLib'未定义”。我是否遗漏了一些内容。简而言之,您必须使用\r”/path/to/AZROLESLib.dll“,以便F#Interactive识别并加载dll文件 添加dll引用有助于Visual Studio在编译项目时找到正确的库,但它与F#Interactive无关。因此,必须使用#r指令指向AZROLESLib.dll。如果VS

我正在为我的F#项目添加第三方dll引用。我在引用中添加了dll,当我使用它时,即突出显示代码并执行Alt+Ent,我得到错误“名称空间或模块'AZROLESLib'未定义”。我是否遗漏了一些内容。

简而言之,您必须使用
\r”/path/to/AZROLESLib.dll“
,以便F#Interactive识别并加载dll文件

添加dll引用有助于Visual Studio在编译项目时找到正确的库,但它与F#Interactive无关。因此,必须使用
#r
指令指向
AZROLESLib.dll
。如果VS无法突出显示代码, 您可能需要打开dll文件中的确切模块:

open AZROLESLibModule
如果代码位于
*.fs
文件中,您可能需要区分使用
fsi
和使用
fsc

#if INTERACTIVE
#r "/path/to/AZROLESLib.dll"
#endif

对于某些事物,您可以直接通过名称来调用它们,而不需要路径

#r "EnvDte"
例如,在这里为vs2013工作

在我的例子中,我的F#项目引用了一个C#DLL,但我在执行“打开MyModule”时遇到了相同的问题,“名称空间或模块‘MyModule’未定义”

解决方案是编辑设置以使用相同的框架(一个使用4.5,另一个使用4.0)。

。谢谢,我使用并添加了
#r
作为dll位置,但我没有
open System.Data.SQLite
行。加上那句话就成功了