3
votes

Our application utilises Reactive Extensions (Rx). These are normally installed via the downloadable package from Microsoft. However, when we ship our application we supply copies of the dlls (namely System.CoreEx.dll and System.Reactive.dll). There appear to be two versions in the GAC v1.0.2787.0 and v1.0.2856.0. We are referencing a specific one and ship the appropriate versions.

However when the application launches it throws an error dialog which states the Rx Dlls must be installed in the GAC. It also requests the Dlls for the other version of Rx e.g. if you are referencing 1.0.2787 it will request 1.0.2856.0 and vice versa.

Has anyone got around this problem?

1

1 Answers

6
votes

The Rx assemblies don't need to be installed into the GAC unless your application's assemblies are installed in the GAC. Does your application need to be installed in the GAC or can it run from the installation directory?

It also requests the Dlls for the other version of Rx e.g. if you are referencing 1.0.2787 it will request 1.0.2856.0 and vice versa

It's unlikely that it's actually requesting across versions of Rx. You might want to double/triple check that your solution (all projects) all reference the correct (and same) version of the Rx assemblies.