-
Notifications
You must be signed in to change notification settings - Fork 4k
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
[Umbrella] ValueTuple library work #13177
Comments
Marek added code and test for mscorlib/xamarin (mono/mono@0a515cf) It will be part of Xamarin Cycle10 release which is expected to be in line with VS Jan/Feb release. |
When porting the change to coreclr/corert, consider cherry-picking the changes from dotnet/corefx#14187 which should substantially speed up edit: Also, dotnet/corefx#14141 may need to be ported to the version of |
@jamesqo Makes sense. When I port ValueTuple to coreclr/corert, I will use the latest code from corefx at that time (so it will include the hashcode changes). |
Added ValueTuple and ITuple to corlib in CoreCLR (dotnet/coreclr#8695) and CoreRT (dotnet/corert#2399). |
Removed ITuple constraint from TRest |
Added type forwards from CoreFx ( |
Mono now re-uses the code from CoreRT, which means it has ITuple too (mono/mono@ddb72c4) |
The remaining bullets from the list above will now be tracked by individual issues. None of them is essential at this point. I'll close this umbrella. |
An issue was reported with 15.5, possibly related to ASP.Net, but not yet diagnosed. |
Same issue happens on 15.4 after installing .NET 4.7.1 DevPack and changing the framework version to .NET 4.7.1. |
@Tornhoof I think you're describing a problem that has been identified and acknowledged with 4.7.1.. Can you try and see if the mitigation described in this thread (manually editing auto-generated binding redirects) works for the issue you're describing? |
Yes, manually removing the value tuple redirect fixes it. Unfortunately manually removing something from the auto-generated redirects in the new SDK Project system is a bit of work, for now I prefer my NuGet workaround as it fixes the bindings automatically. |
Documentation of the various slices in the ValueTuple package:
Known issues
ValueTuple nupkg and net47
Most prominent issue is when targeting desktop 4.6 (or lower) and referencing the ValueTuple package, then running on machine with desktop 4.7 installed.
The symptom are that tuples don't work in EE, interactive and possibly ASP.NET.
Workaround options: (1) target 4.7, or (2) remove ValueTuple dependency, or (3) run without 4.7 installed.
See https://github.com/dotnet/corefx/issues/16195 for more details.
ValueTuple in netstandard and net47
ValueTuple in netstandard and net471
Applications targeting .NET 4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1
https://github.com/Microsoft/dotnet-framework-early-access/issues/9
Reported issues
Work items
Adding
System.ValueTuple
to various corlib implementations:Add
ITuple
toSystem.Tuple
andSystem.ValueTuple
to those corlibs:After that:
System.Runtime
instead ofSystem.Private.CoreLib
(https://github.com/dotnet/corefx/issues/15475, done with dotnet/corefx@17fdb43)Make
System.ValueTuple
binary serializable (https://github.com/dotnet/corefx/issues/15229) (which will ship together withITuple
above):update ref assembly (add serializable attribute) andadd tests to cover coreCLR implementationHash seed randomization:
EqualityComparer optimization:
Various BCL improvements:
Downgrade warnings issue:
- [ ] Change dependencies of ValueTuple package to reference 1.0.0 baseline (issue, fix)(closed "by design", customer should upgrade their 1.0 projects to 1.1 to useValueTuple
).EE bug with not loading mscorlib
Clash between ValueTuple.dll and mscorlib.dll from new desktop framework (in short, a workaround was added to EE and a facade assembly was added to mscorlib in desktop 4.7.1 that type unifies with ValueTuple assembly version 4.1.*):
Binding redirects required for EF tests (julielerman/EFCore2NightlyNet461#1, ErikEJ/EntityFramework.SqlServerCompact#463)
But auto-generated binding redirects break type unification (https://github.com/Microsoft/dotnet-framework-early-access/issues/9)
Various bugs/proposals:
Change behavior when comparing with
null
(https://github.com/dotnet/corefx/issues/18528) (we ended up cancelling to keep Tuple and ValueTuple APIs more stable)The text was updated successfully, but these errors were encountered: