问题
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.
回答1:
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
回答2:
for some things you can call them directly by name with no path
#r "EnvDte"
works for vs2013 here for instance
回答3:
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).
来源:https://stackoverflow.com/questions/9173510/how-to-add-third-party-dll-reference-to-f-project