how to add third party dll reference to F# project

2019-04-04 17:40发布

I'm adding a third party dll reference to my F# project. I added the dll in references and when I use this i.e highlight the code and do Alt+Ent, I get the error "The namespace or module 'AZROLESLib' not defined." Am I missing some thing.

3条回答
啃猪蹄的小仙女
2楼-- · 2019-04-04 18:09

In my case my F# project was referencing a C# DLL but I had the same issue, "The namespace or module 'MyModule' not defined", when doing "open MyModule".

The solution was to edit the settings to use the same framework (one was using 4.5 and the other 4.0).

查看更多
疯言疯语
3楼-- · 2019-04-04 18:18

In short, you have to use #r "/path/to/AZROLESLib.dll" in order that F# Interactive recognizes and loads the dll file.

Adding a dll reference helps Visual Studio to find correct libraries when compiling the project, but it has nothing to do with F# Interactive. Therefore, you have to use #r directive to point to AZROLESLib.dll. If VS has some troubles to highlight the code, you may have to open the exact module in your dll file:

open AZROLESLibModule

If the code is in a *.fs file, you may want to distinguish between using fsi and using fsc:

#if INTERACTIVE
#r "/path/to/AZROLESLib.dll"
#endif
查看更多
手持菜刀,她持情操
4楼-- · 2019-04-04 18:18

for some things you can call them directly by name with no path

#r "EnvDte"

works for vs2013 here for instance

查看更多
登录 后发表回答