Requirements for Running a LabVIEW Executable that Uses .NET Assemblies

Updated Feb 6, 2019

Reported In

Software

  • LabVIEW

Issue Details

Are there any requirements for running LabVIEW executables that use .NET assemblies?

Solution

The requirements for running a LabVIEW executables that uses .NET assemblies will vary depending upon the type of .NET assembly you are using. 

Assemblies can be either public or private. Private assemblies are usually located in the same directory as the application directory. Public assemblies are located in a system-wide global cache called the Global Assembly Cache (GAC). 

When building a LabVIEW executable or shared library that uses private assemblies, the private assemblies must be placed either in the same directory as the EXE or DLL, or in the data or bin subdirectories. If the assembly is in the GAC, then nothing more needs to be done. 

Additional Information

Note on Using Private Assemblies Any assembly can depend on the existence of other assemblies. For example, assembly B may require code that is in assembly A. You may only ever explicitly use assembly B in your application, but you are implicitly using assembly A. Therefore you must place those referenced assemblies in the same directory as your EXE or DLL. If your private assembly references a GAC assembly, you do not need to place the GAC assembly in your private directory. 

Special Note on Using GAC Assemblies Like other 3rd-party software, any GAC assembly must be installed on any target machine before attempting to run your LabVIEW-based application.