A new XJRunner Integration .NET API was released in XJTAG 2.6. This came with a new set of LabVIEW examples detailing how the API could be used within the LabVIEW environment. These examples have been added to since that release.

These examples were developed on a 32-bit XP machine where the XJTAG bin directory (containing the XJRunner integration binary and it’s dependencies) is located at “C:\Program Files\XJTAG X.x\Bin”. This means when the examples are run on a machine where the XJTAG bin directory is on a different path (e.g. a machine running a 64-bit version of windows where XJTAG is installed in “Program Files (x86)”), LabVIEW is not able to find XJRunnerIntegration.dll.

This problem would be trivial to deal with if there were a straight-forward way of pointing to the correct path in LabVIEW. Unfortunately that does not exist, because LabVIEW keeps hard-coded references to the assembly in all VIs that make a call to the assembly.

Updating the references to XJRunnerIntegration.dll

The first step is to ensure that LabVIEW can find the reference when it comes across an invalid path to the assembly. To do this the XJTAG bin directory should be defined in LabVIEW’s VI search path.

From LabVIEW select Tools > Options… and pick the Paths category; this will display the paths options screen. Here select VI Search Path in the drop down list to show all the paths LabVIEW searches when it looks for unresolved paths. Add the XJTAG bin directory to this list to tell LabVIEW that it should search there as well.

Now LabVIEW knows where to look for the XJRunnerIntegration.dll file, a mass compile of the project directory is needed to update all broken references to the file.

Ensuring that the XJTAG example ¬†project is not open, select Tools > Advanced > Mass Compile… and navigate to the top level directory of the project (i.e. the directory the LabVIEW project resides); select Current Folder and run the mass compile.

The result of the mass compile should be as follows:

The result of the mass compile.

The highlighted text shows that LabVIEW has found an invalid path to XJRunnerIntegration.dll and replaced it with the correct path. The result of the mass compile is that all hard-coded paths to the assembly in the project will have been updated.

Unfortunately as a result of the reference update the PopulateTestFunctions.vi and the PopulateTestTree.vi within the example XJTAG Multiple Test Runs may get broken. There is no real error, however, the change of reference can cause a couple of .NET Invoke/Property nodes to think they cannot find the .NET method/property that should be called. To fix this the method or property must be re-selected.

In the XJTAG Multiple Test Runs.vi trace the error using the error list down to the offending invoke or property node. Right-click that node and re-select the method or property from the Select Method or Select Property menu. If these menu options do not appear it is because the offending node is further back in the execution. Trace the wire back and perform the last step on that node until you can reselect a method or property. As a result of this the VIs should then be able to be run.