02-09-2016 07:58 AM
I'm using the Pyrocam Beamgage constructor. In the base vi, the .net calls are working fine, but after compiling the executable, don't work. Any thoughts on what I can try? Is there anything that needs to be done in the operating system. Does Labview have a way to explicitly state paths for .net contructors like the traditional vis have?
02-09-2016 08:09 AM
Some additional details:
When I delete the file Spiricon.BeamGage.Automation.dll from the data subfolder, I'm prompted to manually select a dll file. When I select it from the following path the software works, however, it is not practical to release the software like this with the operator having to manually select the DLL every time. Is there a way to specify the path through a configuration file?
C:\Program Files\Spiricon\BeamGage Professional
02-09-2016 09:39 AM
Suggest you include the dll in your Project and then when creating a Build Specification selct the dll as 'Always Included" in your Source files.
-AK2DM
02-09-2016 12:24 PM
@Steve_Block wrote:Some additional details:
When I delete the file Spiricon.BeamGage.Automation.dll from the data subfolder, I'm prompted to manually select a dll file. When I select it from the following path the software works, however, it is not practical to release the software like this with the operator having to manually select the DLL every time. Is there a way to specify the path through a configuration file?
C:\Program Files\Spiricon\BeamGage Professional
Fusion (.NETs assembly loader) will search your executable's sub-folders as well as other folders on disk to find the assemblies requested. If you include the dll in your project it will end up in a "data" sub-folder on disk will Fusion will find it. When you are using the dll in your development environment check what .NET assemblies are in memory in case you need to copy any additional dlls into your project (and will thus end up in your data folder). You can find the option under "View". It is possible that the dll you are using references other dlls and thus Fusion can't find them once you build an executable.
02-09-2016 01:12 PM
Why can't labview just let the developer specify the path like traditional dlls(and I beleive CVI) lets you do.
02-09-2016 01:16 PM
@Steve_Block wrote:Why can't labview just let the developer specify the path like traditional dlls(and I beleive CVI) lets you do.
This doesn't seem like a constructive comment that gets you towards a solution. The last suggestion I have for you is to read this (found as first hit via google search):
http://digital.ni.com/public.nsf/allkb/C4EA5ABBEB67AF7C862573F3004D4421
02-09-2016 01:47 PM
I placed the dll in my project and selected the include option and it was working for a while but then stopped. Why would it do this. How do I access the GAC?
02-09-2016 03:37 PM
I hope I have the software working. I had to copy a whole bunch of dll files from C:\Program Files\Spiricon\BeamGage Professional to my executable's data file to make it work. I would believe the reason that labview does not let you programmatically select the path being because of the way microsoft designed the .net framework except if the main dll is left out, the operator then can manually select it from the path C:\Program Files\Spiricon\BeamGage Professional. I believe that CVI lets the programmer do this but would have to verify. Is there any way through one of the .ini, .config or etc files or any other mechanism that the path can be explicity set?