Author: | Junjun-zhao |
---|---|
Assignees: | - |
Labels: | `area-Extensions-Configuration`, `investigate` |
Milestone: | - |
Closed Junjun-zhao closed 1 year ago
Tagging subscribers to this area: @dotnet/area-extensions-configuration See info in area-owners.md if you want to be subscribed.
Author: | Junjun-zhao |
---|---|
Assignees: | - |
Labels: | `area-Extensions-Configuration`, `investigate` |
Milestone: | - |
@SteveDunn I haven't had a chance to look at the repro yet, but is it possible this was related to the immutable type changes in 7.0?
@Junjun-zhao I am noticing you are using SDK 7.0.1
which is not released yet. do you see the issue on 7.0.0
? I am asking because I suspect this can be from the change https://github.com/dotnet/runtime/pull/78118.
In 7.0.0, we added BindConcreteDictionary
which looked for TryGetValue
and Item
on typeof(Dictionary<,>).MakeGenericType(keyType, valueType)
rather than on a potentially user-defined type to avoid the possibility of this kind of ambiguity.
I see that #78118 changes the logic to now pass potentially user-defined IDictionary<,>
implementations to BindConcreteDictionary
which now creates the possibility of this ambiguity starting in 7.0.1. Not doing so seems incredibly risky in a patch. I don't think this kind of ambiguity was ever possible before.
If we're trying to revert to 6.x behavior, we should use FindOpenGenericInterface
to get TryGetValue
and Item
off the interface rather than the potentially user-defined type. This is how we do it in release/6.0
.
@halter73 right, that what I was suspecting too. I agree with your suggestion on how to fix it.
@tarekgh It did not repro on 7.0.0 release(Windows10 21H2 x64+dotnet-sdk-7.0.100: Pass). Is this a blocker for 7.0.1? Will this issue be fixed in 7.0.1?
This confirms our theory. I'll work on the fix. Thanks @Junjun-zhao for reporting and confirming the issue.
@halter73 I have created the PR https://github.com/dotnet/runtime/pull/78946. I appreciate if you can look. Thanks!
This is fixed for servicing through the PR https://github.com/dotnet/runtime/pull/79019
Verified and this issue has been fixed on dotnet-7.0.102-servicing.22602.11.
At present, the latest official docker image does not seem to work, and such problems still occur.
mcr.microsoft.com/dotnet/aspnet:7.0
@contione the fix is not released yet.
Is there an existing issue for this?
Describe the bug
When launch the aspnet core app mixcore against .NET 7.0.101 runtime, it failed with exception.
Application Name: mixcore OS: Windows 10 21H2 CPU: X64 .NET Build Number: dotnet-sdk-7.0.101
Verify Scenarios: 1). Windows10 21H2 x64+dotnet-sdk-7.0.101: Fail 2). Windows10 21H2 x64+dotnet-sdk-7.0.100: Pass
App and App Source checking at : https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1687533 Github Link: https://github.com/mixcore/mix.core
Expected Behavior
App will launch successful.
Steps To Reproduce
This is .net6.0 app, but we are running it on 7.0, machine only have 7.0 installed, and DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX=2, so it runs on 7.0
Minimal Repro sample:
Exceptions (if any)
Actual Result: Launch failed with below exception:
Findings:
.NET Version
dotnet-sdk-7.0.101
Anything else?
dotnet --info
@dotnet-actwx-bot @dotnet/compat