02-27-2019 09:23 AM
I'm working with a C# developer. They have made a C# dll and have the LabVIEW constructor and invoke nodes working with that dll.
When I copy the dll to my computer, I can point the constructor at the DLL ok, but the invoke node claims there are no methods.
My question is: If a .NET dll is missing dependencies, will that stop LabVIEW invoke node from finding a list of methods? (my assumption would be that it would find them ok, but fail to run)
02-28-2019 07:44 PM - edited 02-28-2019 07:51 PM
So the constructor node works ok but not the invoke node? Are you sure there are instance methods?
I don't believe LabVIEW frets about not finding the additional dependency at compile time but having said that I don't recall encountering it. Also that behavior might have changed in later LabVIEW versions.
If you want to know what references the assembly actually has I often use https://github.com/isindicic/DependencyWalker.Net as it's a quick way of walking down the reference tree without going down the decompilation route.
EDIT: I just tried this in 2016 with an example and can access properties and methods of an assembly that is missing dependencies. However at runtime LabVIEW returns an error 1589 from the constructor node saying which assembly was missing.
03-01-2019 05:10 AM
Thanks a lot for the verification. The weird thing is, the dll developer has labview working with it and has given me his example code. He has been able to access these methods.
I'm able to access other windows .net calls. So there must be some difference in versions between our machines I guess? I'll get a list of versions from him
03-01-2019 06:45 AM
Hmm, he's running LabVIEW 2016 32bit, same as me.
03-01-2019 11:19 AM - edited 03-01-2019 11:20 AM
Never mind, just saw that it was already suggested earlier...
12-21-2020 09:14 AM
Any resolution? I have a similar issue. I am trying to access methods of a child class contained in a C# DLL. I can see the methods of the parent, but if I point an invoke node to the child, I get "no methods", but there ARE public methods in the child.
01-04-2021 02:42 PM
Your issue sounds different - perhaps start a new topic and additionally post your code (LabVIEW project zipped up and C#/assembly file).