Got an app I wrote a while back and the customer has upgraded their server, and installed the latest version of the labelling software my app integrates with. Now version control is broken and it won't load my app as the .net assemblies have moved up in version. The overall signature of the assembly is identical so I thought a simple binding redirect would solve the problem.
This file is app.exe.config in the same path as the exe but it ignores it and still gives an error that it cannot find 9.4.1.1.
9.40.3.1 is showing up in the GAC.
Building a new build environment is to build against 9.40.3.1 looks like the only option but this takes time and I need a quick resolution to this, so the bindingRedirect looked like a good option. I also have other customers on various versions of this labelling software so a solution that uses this approach would be useful, and besides if Microsoft implemented it then it should indeed be possible.
Please show me the error of my ways.
Code:
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependency> <dependentAssembly> <assemblyIdentity name="Seagull.BarTender.Print" publicKeyToken="109ff779a1b4cbc7"/> <bindingRedirect oldVersion="9.40.1.1" newVersion="9.40.3.1"/> </dependentAssembly> </dependency> </assemblyBinding> </runtime> </configuration>
9.40.3.1 is showing up in the GAC.
Building a new build environment is to build against 9.40.3.1 looks like the only option but this takes time and I need a quick resolution to this, so the bindingRedirect looked like a good option. I also have other customers on various versions of this labelling software so a solution that uses this approach would be useful, and besides if Microsoft implemented it then it should indeed be possible.
Please show me the error of my ways.
Comment