Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Runtime error: Could not load Common 8.1.20.616 ONLY ON SOME SYSTEMS

We have a .NET app that was built against DAQmx 8.7.1 "f3" which communicates with a USB-6008.
 
On SOME systems, when the app is run we get "Could not load file or assembly NationalInstruments.Common Version=8.1.20.616" error.
 
NONE of our systems have this version of Common (they all have what came with 8.7.1f3:  version .618).
 
But why does it fail on some but not others?
 
What is referencing version .616, and why isn't it loading .618 instead?
 
TIA
 
0 Kudos
Message 1 of 2
(3,339 Views)
Hi dtnpsi,

How did you install your .NET application, DAQmx assemblies and Common assemblies on those target systems? Did you create a Visual Studio installer which would have included the DAQmx and Common assemblies via merge module. It is very important to create an installer which includes the Common merge module because this merge mdule contains a publisher policy file that installs with Common in the GAC on the target system to ensure that all .NET applications using Common always use the lastest version.  I have discussed that topic in detail with you before in this post so I won't go into detail again. Refer to that post if you need to remember how it works as its very important.

It sounds like you don't have publisher policy files installed on those target systems which force loading up the latest version of Common.  You can see what versions of assemblies an assembly is built against by using .NET Reflector or ILDASM which installs with the .NET Framework SDK. 

However, the issue you are describing just sounds like some machines have the publisher policy file while others don't. Maybe you didn't run an an installer on those machines and rather just used XCOPY to get these assemblies on that target PC.

Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 2 of 2
(3,297 Views)