-
Notifications
You must be signed in to change notification settings - Fork 771
Closed
Milestone
Description
As discussed in fsprojects/Paket.VisualStudio#38 (comment) we have a very weird issue with using Rx in a Visual Studio extension. It seems the Xamarin addin uses also Rx and this breaks Paket.VisualStudio and AFAIK also "GitHub for Visual Studio 2015" (which ships with VS).
Quoting @shana from the other issue:
Microsoft is shipping two separate builds of system.reactive, one for .NET 4.0 and another for .NET 4.5. Both with the same signing key snd version. As a result, the runtime doesn't distinguish them (runtime version is not a part of the assembly identification) and will only load one of them, whichever comes first. If the first is the one for .net 4.0, any 4.5 methods will not be a part of it.
Result: MethodNotFoundException
The only way to fix this is to either load your extension before they do (if you can, it's a race), or ship your own copy of system.reactive with a different signing key so it can be loaded side-by-side with the one Xamarin is loading, which is what I'm doing. I have a fork at https://github.com/shana with a different key, you can also use the ones that ship with the GitHub Extension for VS2015.
So @shana has already "fixed it" for "GitHub for Visual Studio" and uses a custom build from https://github.com/shana/Rx.NET/tree/custom-key
/cc @shana please upload your nuget package to your releases page so that we can reuse it as a temporary fix.