[release/3.1] Port 6.0 fix to AssemblyDependencyResolver to not throw for same file - #28161
Conversation
vitek-karas
left a comment
There was a problem hiding this comment.
We should try to port at least one test to validate this.
|
Once you are ready for review, please add the servicing template (here is an example dotnet/runtime#51421) |
|
@vitek-karas @elinor-fung anything else? |
|
Mac fix moved to #28163 |
|
Can we get a run of the added |
|
/azp help |
Supported commands
See additional documentation. |
|
/azp list |
|
CI/CD Pipelines for this repository: |
|
/azp run coreclr-outerloop |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
|
@elinor-fung Any luck on finding the right thing to run? I agree it looks like only P0 tests are being run, but I can't find a switch to run the rest, |
|
Looks like the triggers for it don't include release/3.*. I manually queued a run: https://dev.azure.com/dnceng/public/_build/results?buildId=1108340 |
|
Test is failing on Linux: https://helix.dot.net/api/2019-06-17/jobs/552434ac-d9d3-439b-a1d2-2ffe86271a87/workitems/PayloadGroup0/console I expect it is because |
|
Re-running manually, https://dev.azure.com/dnceng/public/_build/results?buildId=1109754 |
|
The test seems to be passing now |
|
@jeffschwMSFT For servicing check @wtgodbe for guidance on merging. Anything else we should do here? |
jeffschwMSFT
left a comment
There was a problem hiding this comment.
Approved. I will take for consideration for 3.1.x.
|
If tactics approves this we can merge this once branches are open for June, which will be 5/4 - 5/10 (the Tuesday before Patch Tuesday thru the night before Patch Tuesday). Are the CI failures expected? |
Runtime follow up fixes for .NET 3.1 - dotnet/runtime#42055
Description
There is a problem with resolving multiple files with the same simple name (e.g. Module, module) in case insensitive OS like Windows for AssemblyDependencyResolver. Our internal storage for such cases throws that can cause problems for users who do not expect the error.
Customer Impact
Reported by customer who was migrating to .Net Core from the Desktop runtime.
After migrating the mixed-mode C++/CLI application from targeting .NET Framework over to .NET Core 3.1, several obstacles have been encountered. One of them is an exception related to adding a duplicate key to a Dictionary in the AssemblyDependencyResolver. Alternatively, they might get an exception about the assembly having already been found with a different extension. Both of these problem point back to .NET Core having a mixture of case sensitivity and insensitivity.
Regression
No, it has always existed.
Testing
Added test scenarios.
A customer who ran into this in 5.0 tried the 6.0 build and reported success.
Risk
Low.
Although getting casing correct with different OSs are notoriously hard, the resolution was to make AssemblyDependencyResolver consistent with other parts of the runtime by choosing the first simple file name and not throwing afterwards for same simple filename with different casing
The 6.0 issue is dotnet/runtime#37162