NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Version of NationalInstruments.Common, Version=8.1.20.168

Hi,

I've using TestStand 4.0 on the development PC which has "NationalInstruments.Common, Version=8.1.20.237" DLL. On the same development PC, TestStand deployment utility was run to create an installer of the custom Operator Interface.

The installer works fine and i'm able to successfully build it.

On execution of any SEQ files on the target machine which has "NationalInstruments.Common, Version=8.1.20.237", I get the following error

"Could not load file or assembly 'NationalInstruments.Common, Version=8.1.20.168, Culture=neutral, PublicKeyToken=4544464cdeaab541' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)"

I guess the publisher file should have redirected the old references to the new DLL version. Am i missing anything? Could anyone please help to resolve this error?

Thanks in Advance
Manohar
0 Kudos
Message 1 of 3
(3,517 Views)
Hello Manohar,

Understanding how the versioning of the Common dll can be a little bit confusing at first, but we do have a couple very good help documents that describe how this works.  These help documents are titled:
  • Measurement Studio .NET Class Library Versioning for Development and Deployment - Very important to read through since versioning of Common is different than versioning of other NI assemblies. 
  • Measurement Studio .NET Merge Modules - Describes dependencies which is important when creating a VS installer to ensure that you installer encompasses all the required components. 
If you have not installed Measurement Studio for Visual Studio, these help documents can be found in the .NET framework help documents for the drivers for which you have installed .NET support. 

I also have a couple quick questions.  You mention that you have built a deployment to create an installer for a custom operator interface.  Is this an OI that you have developed, or one of the ones that ships with TestStand? Is this all that you are deploying?  How did the target computer come to have the Common dll on it?  Are the sequence files you are trying to run from your OI using any of our other dll's, such as NationalInstruments.DAQmx, and how were they deployed? We look forward to hearing back from you!

NickB
National Instruments
Applications Engineering
0 Kudos
Message 2 of 3
(3,499 Views)

Greetings Nick,

 

Thanks for the links.

 

Let me explain the whole scenario that happened.

The deployed code is a custom UI that is built in C# (.NET) and was working fine as intended in development machine. Once the package was deployed to target, it didn’t work as it was missing the Common DLL, I was able to figure out this issue by comparing the GAC on development and target machines. By copying the NI Common DLL from development PC to Target GAC, the error persisted and the problem was it was referring to Common DLL version 8.1.20.168 instead of 8.1.20.237 that I had copied to target GAC.

 

To overcome these errors, I now packaged the deployment (installer) with the development PC version 8.1.20.237 along with application and since now the target is referring to packaged DLL, which on installation updated the GAC (on target machine with the version in installer and policy file), with this the problem is solved and the installer works fine now.

 

Thanks,

Manohar

0 Kudos
Message 3 of 3
(3,469 Views)