I have a multi-project Visual Studio solution targeting .Net 4.5.2 . In one of the projects (a WPF application), I've used nuget to add the System.Reactive version 3.0.1000.0 package followed by the ReactiveUI 7.0.0.0 package.
In another project which is a class library used by the WPF application, I've simply added the System.Reactive version 3.0.1000.0 package.
The ReactiveUI package appears to depend on an old set of reactive packages (RX-Core2.2.5 etc.). I can tell this because the HintPaths in the WPF applicatio project file are pointing to locations such as packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
When I build and run the application I get a FileLoadException since at least one of the projects is attempting to use the wrong dll version. The following is typical....
System.IO.FileLoadException occurred
HResult=0x80131040
Message=Could not load file or assembly 'System.Reactive.Linq, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I might be able to fix this up by downgrading all System.Reactive packages across the solution to 2.2.5 but this appears to be a very old version (2014).
Why is ReactiveUI pulling in the dependency on v2.2.5 of System.Reactive? Is there any way to change this behaviour so that I can use latest version of System.Reactive throughout the solution?