Fixing Broken Wires Due to .NET Assembly Mismatch

Usually, after the Time Tagger software update, you will notice that LabView cannot find the Time Tagger library anymore. When you open your VIs that was created with a different version of the Time Tagger .NET assemblies (libraries), LabVIEW will ask you to locate the “SwabianInstruments.TimeTagger.dll” file.

This happens because LabView associates the exact version of the .NET library with your VIs and tries to locate only that library. However, the Time Tagger software update naturally replaces the library with the new version. Press “Ignore All” button to finalize the VI loading.

After the VI is loaded it will be marked as broken and you can verify that some wires on the VI diagram are indeed broken. Typically, this happens only to the .NET class Constructor nodes.

Fortunately, the solution to this problem is relatively easy. You have to click on the class constructor name selector and select the same constructor again.

Now the wires shall become valid again. You may need to do this in multiple locations.

The following is relevant only for the Time Tagger before v2.6.6!

Starting from the Time Tagger v2.6.6 the version redirection is done automatically system-wide via publisher policy. Therefore it is best to remove any .config files you may have created earlier.

The following solution may help your application to tolerate the version changes of the .NET assemblies by telling the LabVIEW to load a specific version of the assembly instead of required. You can achieve this by creating a .NET configuration file.

The file shall have the name exactly as your LabVIEW Project file and the extension “.config”, as shown in the following screenshot

The contents of the file are as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="SwabianInstruments.TimeTagger" publicKeyToken="b205e4d8392117f7" culture="Neutral" />
                <bindingRedirect oldVersion="2.3.0.0 - 2.6.2.0" newVersion="2.6.2.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

You have to update two parameters:

  • oldVersion - specify the range of Time Tagger versions you used to create the Vis.
  • newVersion - specify your currently installed version of the Time Tagger software.

See also:

Cookie Policy

We use third party service providers, like Freshworks Inc ("Freshworks") to enable interaction with you on our website and/or our product. As a data processor acting on our behalf, Freshworks automatically receives and records certain information of yours like device model, IP address, the type of browser being used and usage pattern through cookies and browser settings. Freshworks performs analytics on such data on our behalf which helps us improve our service to you. You can read about the cookies Freshworks' sets in their cookie policy here.