01-18-2013 08:14 AM - edited 01-18-2013 08:16 AM
LabVIEW is not concerned at all about loading assmblies, that does Windows for LabVIEW. LabVIEW only adds the project directory to the known locations of assmblies when telling Windows to load an assembly but all the loading is done by Windows.
As to installing a .Net assembly (and all it's dependencies) properly there should be an installer. The installer will check if the assembly is already installed and what version and install it if necessary using Windows install services. This installer should be created by the developer of the assembly as only that entity knows about all the possible dependencies and required versions of them.
01-18-2013 08:27 AM
Ok,
Nearly there (I think) - Thanks for your patience!
So, in theory then I don't have to make sure my VIs which call the assembly point to the right place on the disk, only to the correctly named dll in the list?
When I drag and drop the dlls into the GAC, (as I just did to try), do they physically move on disk or is the GAC just a list which points the dll wherever I dragged it from? i.e. once they've been dragged into the GAC can I delete the original files or would that brake everything?!
I will have another look on the manufacturers disk to see if they have an installer which puts things into the GAC or not - I don't believe they do since I ran the installer on the disk to install their software and get acces to the dlls in the first place. I would have thought that that installer would have been the thing that "registered" the dlls in which case I didn't ought to have had this problem...
Thanks again for all your help
Paul
11-20-2014 02:23 PM
Has anybody got a step by step solution to this. We are having the exact same problem. The Aerotech ensemble works perfectly within the project environment but when I compile to an executable it fails at exactly the same point as Paul (the poster) mentioned. All required DLLs appear to be in the Data folder of the executable.
What was the solution to this - did you find one Paul?
11-21-2014 10:47 AM - edited 11-21-2014 10:54 AM
How LabVIEW Locates .NET Assemblies
http://digital.ni.com/public.nsf/allkb/C4EA5ABBEB67AF7C862573F3004D4421?OpenDocument
I end up putting in my application root directory.
Example:
C:\My App\My net App.exe
C:\My App\My net Assembly.dll
Hope it helps!
-lvABC
06-29-2018 09:57 AM
I had exactly the same problem. I couldn't believe it when on the second post I saw the same code I was working on, from the Aerotech Connect.vi
The solution is:
The trick was to put all 7 dll’s into the installation folder manually. Two of them are 64 bit, and they are most likely not needed. The application builder includes the two main ones in the Data folder, but by copying
AeroBasic.dll
AeroBasic64.dll
Aerotech.Common.dll
Aerotech.Ensemble.dll
Aerotech.Ensemble.LabVIEW.dll
EnsembleCore.dll
EnsembleCore64.dll
directly into the installation folder, it works. Nothing gets checked in the “Advanced” section of the application properties in the project, and the application works.