You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix bug caused by System.Threading.Tasks v4.7.1 (OmniSharp#892)
* Remove duplicate `JetBrains.ReSharper.CommandLineTools` package reference
This line was a duplicate and the build tools complained about it.
* Bump SampleServer's `Microsoft.Extensions.Logging` package
In order to allow it to restore since this dependency was updated
upstream, and that was causing it to fail to restore due to the detected
forced downgrade.
* Fix bug caused by `System.Threading.Tasks` v4.7.1
Unfortunately `System.Threading.Tasks` v4.7.1 is broken. Its package
manifest states that it depends on `System.Threading.Tasks.Extensions`
>= v4.5.4 (assembly version v4.2.0.1); however, for some reason it
actually requests v4.2.0.0. While neither OmniSharp nor PowerShell
Editor Services, the downstream library where this bug appeared, ship
that version of the library, it can sometimes be found in the Global
Assembly Cache on Windows. When present (due to an installation by some
other program), it gets loaded, and then other dependencies (correctly)
request v4.2.0.1 which also gets loaded. When both are loaded, a
`System.MissingMethodException` is thrown! Specifically the method
`ChannelReader.ReadAsync` (from `System.Threading.Tasks`) on the type
`Tasks.ValueTask` (provided by `System.Threading.Tasks.Extensions`) can
no longer be resolved. I do not know enough about the intricacies of
method/type resolution in the full .NET Framework as to explain
precisely why the presence of v4.2.0.0 causes this resolution to fail,
but it certainly does. Upgrading `System.Threading.Tasks` to v6.0.0 is
confirmed to solve the problem, since the newer package correctly
requests `System.Threading.Tasks.Extensions` v4.2.0.1.
0 commit comments