I have a solution for several Visual Studio.Net 4.5.2 projects. In one of the projects (WPF application), I used nuget to add the System.Reactive package version 3.0.1000.0, followed by the ReactiveUI 7.0.0.0 package.
In another project, which is the class library used by the WPF application, I just added the System.Reactive package version 3.0.1000.0.
The ReactiveUI package seems to depend on the old set of reactive packages (RX-Core2.2.5, etc.). I can say this because the HintPaths in the WPF application project file point to places like \ Rx-Core.2.2.5 \ lib \ net45 \ System.Reactive.Core.dll
When I create and run the application, I get a FileLoadException, because at least one of the projects is trying to use the wrong version of the dll. 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 manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I could fix this by lowering all System.Reactive packages within the solution to 2.2.5, but this seems to be a very old version (2014).
Why is ReactiveUI pulling a dependency on v2.2.5 from System.Reactive? Is there a way to change this behavior so that I can use the latest version of System.Reactive in the whole solution?
NeilMacMullen
source share