我正在为我的F#项目添加第三方dll引用。我在引用中添加了dll,当我使用它时,突出显示代码并执行Alt + Ent,我得到错误“命名空间或模块'AZROLESLib'未定义。”我错过了一些东西。
答案 0 :(得分:14)
简而言之,您必须使用#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
答案 1 :(得分:0)
对于某些事情,您可以直接通过名称调用它们而没有路径
#r "EnvDte"
例如,适用于vs2013
答案 2 :(得分:0)
在我的情况下,我的F#项目正在引用C#DLL,但是在执行“ open MyModule”时遇到相同的问题,“未定义名称空间或模块'MyModule'。”
解决方案是编辑设置以使用相同的框架(一个使用4.5,另一个使用4.0)。