Add TaskAsyncEnumerableExtensions to Microsoft.Bcl.AsyncInterfaces#37379
Add TaskAsyncEnumerableExtensions to Microsoft.Bcl.AsyncInterfaces#37379joperezr merged 4 commits intodotnet:masterfrom
Conversation
98b3be6 to
52ca08f
Compare
52ca08f to
e7a166b
Compare
|
@joperezr, it looks like this is configured to build against netstandard and netstandard2.1. netstandard2.1 doesn't yet contain these APIs, so the ref TypeForwardedTo is failing to compile. What's the right way for me to deal with this now? Should I hold off until @terrajobst adds these for netstandard2.1, and then presumably we'd pull in those updated refs and things would just start working? |
|
I see, in this case for the ref, we can do two different approaches. We can either have that <PropertyGroup Condition="'$(TargetGroup)' == 'netstandard2.1'">
<GenFacadesIgnoreMissingTypes>true</GenFacadesIgnoreMissingTypes>
</PropertyGroup> |
If we do that, what's the functioning state of things? If you try to use this package when building against .NET Core 3.0 or .NET Standard 2.1, what will happen? |
|
If you are targetting .NET Standard 2.1 (or a compatible framework like .NET Core3.0 or UWP vNext) there is no problem, since you wouldn't be referencing those types from this contract anyway. The only problem with this, would be in the case where somebody compiled against .NET Standard 2.0 (or a compatible assembly) which would mean that they would look for the type in the M.Bcl.AI.dll but then try to run in a .NET Standard 2.1 compatible framework (other than .NET Core 3.0 since we do have the typeforward in that case) since what would happen is that the app wouldn't be able to properly find the re-route of this type to where it lives in that framework. I think that is an ok risk to take, if and only if we believe that this type will eventually (soon) be added to .NET Standard2.1, as when we eventually do it we would just remove the condition and everything will be fixed. If we are not thinking of having this type inbox in .NET Standard 2.1, then we should provide a typedef for .NET Standard2.1 for this type and a .NET STandard2.1 implementation. |
e7a166b to
9545cf7
Compare
27057ff to
be6afe8
Compare
…o that all types are found.
|
@stephentoub failures in the PR seem to be due to |
|
@maryamariyan the OLEDB tests are timing out, after several failures like @joperezr I have confident this should not stop you merging. |
|
Thanks, Jose. Yeah, not related at all. |
| netstandard; | ||
| <!-- netstandard; --> | ||
| netcoreapp; | ||
| uap; |
There was a problem hiding this comment.
This kind of defeats the purpose of these tests, right? :)
Should we instead just exclude ConfiguredCancelableAsyncEnumerableTests.netcoreapp.cs from being included until netstandard2.1 is updated?
There was a problem hiding this comment.
It does defeat the purpose, but it is a temporary change, so I'm fine with either removing the tests or leaving this as is and fixing once netstandard contains the type. As you prefer.
There was a problem hiding this comment.
Thanks. I prefer the excluding-these-few-tests approach.
Created https://github.com/dotnet/corefx/issues/37538 |
|
Networking test failures are not related to this PR either so I'll go ahead and merge this. Thanks @stephentoub! |
…otnet/corefx#37379) * Add TaskAsyncEnumerableExtensions to Microsoft.Bcl.AsyncInterfaces * Adding baseline entry for the missing type on netstandard * Temporarily changing test configurations of AsyncInterfaces package so that all types are found. * Comment out AsyncEnumerable tests while the type makes its way to netstandard 2.1 Commit migrated from dotnet/corefx@2392cae
Adds the remaining types needed for the Microsoft.Bcl.AsyncInterfaces package
Blocked on #37367
Contributes to #37354
cc: @terrajobst, @joperezr