02-26-2019 10:54 AM
I have an application that relies on NationalInstruments.visaNS version 9.0.20.156. Unfortunately, that version no longer works with Windows 10, and am I forced to upgrade to a newer driver package (Visa 18.5). Running my application on the latest visaNS.dll causes an exception indicating that the visaNS assembly version 9.0.20.156 could not be found. The application runs perfectly when rebuilt on the new assembly, but due to a variety of constraints, rebuilding and redeploying my application is largely impossible.
Is there a publisher policy that can redirect version 9.0.20.156 to 13.0.45.167 (Visa 18.5)? At least for my purposes, the latest version is 100% backwards compatible.
02-27-2019 11:04 AM
I noticed that each version of NationalIInstruments.visaNS.dll is signed with a different key. This breaks backwards compatibility unnecessarily.
Would it be possible get a build of the latest visaNS (13.0.45.167) signed with the same key as 9.0.20.156? Subsequently, please apply a publisher policy that redirects 9.0.20.156 to 13.0.45.167.
02-27-2019 04:31 PM
VisaNS has been superseded by NI-VISA .NET. A more viable solution would probably be to upgrade to VISA .NET since you are on a Windows 10 computer and using a newer version of Visual Studio. There are a few discussions about this issue on our forums so I've linked to one below that provides more information. The VISA .NET library does support a majority of the features of VisaNS though so hopefully an upgrade shouldn't be too difficult. You can read more about in the Relationship with VisaNS API section of the VISA .NET Library documentation.
02-27-2019 05:39 PM
Thanks for the response. Unfortunately, the problem is not developing the application on a new VisaNS or VISA NET, but rather that re-deploying a new build of my application is infeasible.
Therefore, I'm searching for a solution that offers backwards compatibility. I believe the simplest way is for VisaNS to incorporate a publisher policy (similar to NationalInstruments.Common) that redirects the old version to the new version. Additionally, for the redirect policy to work, the new version needs to be signed by the same key as the old version. Is this something NI can provide?