-
Notifications
You must be signed in to change notification settings - Fork 739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ValueTuple 4.0.2 dependency in System.Reactive #823
Comments
What kind of project is it? The project file should have |
It is a desktop application. AutoGenerateBindingRedirects is true both in the Visual Studio interface and the .csproj file. The app.config dependentAssembly entry is:
I can reproduce it by upgrading ValueTupe package to 4.5, build release configuration & deploy to production and reverting to working setup by uninstalling System.Reactive 4.1.1 & ValueTupe 4.5 packages & reinstalling System.Reactive 4.1.1. |
@thomas-berg do you mind sharing a binlog for us to investigate the issue? To produce one, simply run |
Binlog attached of the version that throws in production environment (nuget System.Reactive 4.1.1 followed by updating ValueTuple package to 4.5.0) |
Thanks, I'm taking a look now. Did the Value tuple redirect got added automatically? or did you add it manually? |
Also, in case you added it manually, which by looking at the log that seems to be the case, does your app run fine after adding it? What happens if you remove the redirect? |
I see, I guess you didn't actually added the redirect manually, but you are still using packages.config so the NuGet updater in VS added the redirect for you. I tried a simple repro locally but switched to use |
We also have faced this issue, spent some time yesterday to investigate and fix.
|
This was a Framework version mismatch on our deployment machine. The application was built targeting v. 4.7.1 but the deployment machine was on v.4.6.1. Since the AppName.exe.config file was not deployed the application started just fine. Upgrading to .NET Framework 4.7.2 on the deployment machine fixed this issue. Sorry about the false alarm, for my part this issue can be closed. |
Just ran into this too on a WPF net471 application using package.config. System.Reactive shouldn't even have a dependency on System.ValueTuple on net47 and newer since it's built into the framework -- see #840 |
My solution has 20 projects and uses ClickOnce which has known issues using PackageReference under net471 (supposedly net472 is better, but we can't switch to that yet), so switching over is too big and problematic of a task still. Correct. Proper solution would be to add another target for 4.7 that doesn't have the ValueTuple dependency. |
Here are a couple examples of NuGet package that do that: https://www.nuget.org/packages/FluentAssertions/ |
@IGx89 In VS 2017 15.8.5 and beyond series fixed problems with ClickOnce and PackageReference. |
Have problems with this as well on a build targeting 4.7.2 (with several dozen projects) It does include the redirect in the ...exe.config file for the executable in the install directory Is there some kind of behind the scenes magic band-aid, or something that is different in a visual studio (non-debug) running of the app, and one installed onto a machine (Windows 10 latest, no registry entries). Any suggestions? Thanks |
Ok, If i go into the config file for the app as installed in c:/Program Files --dependentAssembly-- Of course, will have to figure out how to tell Microsoft Project Installer not to add this in, however this is a separate issue. It is not in the app.config files themselves for the project. If anyone has any idea, appreciate it, Thanks |
.NET Framework 4.7.1
System.Reactive 4.1.1 from nuget installs dependency package ValueTuple 4.4.0 (v4.0.2), all good.
Updating ValueTuple package to 4.5.0 (v4.0.3) causes this runtime exception in System.Reactive:
Could not load file or assembly 'System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at System.Reactive.Producer
2.SubscribeRaw(IObserver
1 observer, Boolean enableSafeguard)at System.Reactive.Producer
2.Subscribe(IObserver
1 observer)at System.ObservableExtensions.Subscribe[T](IObservable
1 source, Action
1 onNext)The text was updated successfully, but these errors were encountered: