What is happening is that you have a higher version of NationalInstruments.Common.dll on your system than some of your application's dependencies such at VisaNS were built against it.
NationalInstruments.Common.dll is forward compatible, so your application will run just fine with a higher version of Common. In this case, you can build your application using the higher version of Common and everything will run ok because it is forward compatible.
- The reason it was designed this way is because Common is a component of all National Instruments .NET libraries. It contains some common functionality that is universal to all of our libraries. However, each library is built against a particular version of Common. In many cases this leads to a scenario where you may be using two libraries, such as VisaNS and DAQmx, that are built against different versions of Common.
The app.config file actually is the correct solution. What the app.config file is saying is for you application to run using the higher version. It is stating that any dependencies that require Common version 126.96.36.1992 should use 188.8.131.52 instead.
- You need this because you are building your application against this version since some other component require this higher version (in some cases this may also be because this is the version installed on your development system but none of your dependencies require it). That way when you run the application, the dependencies will look for the 184.108.40.206 version rather than the 220.127.116.112 version (your application can only load one version of an assembly). This is important when running on systems that may have many versions.