fix: Fail roll forward .NET Core 3.x -> .NET 5.0#2923
Conversation
As part of consolidation initiative (refer to dotnet#2781) we have merged System.Windows.Forms.Design.Editors.dll into System.Windows.Forms.Design.dll. However doing so we broke roll-forward upgrades for any app depending on types delcared in System.Windows.Forms.Design.Editors.dll. Create a facade assembly that forwards types from original assembly. Resolves dotnet#2921.
| .editorconfig = .editorconfig | ||
| EndProjectSection | ||
| EndProject | ||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms.Design.Editors.Facade3x", "src\System.Windows.Forms.Design.Editors\src\System.Windows.Forms.Design.Editors.Facade3x.csproj", "{E0681991-228A-420E-85D5-A9E796F0AAE0}" |
There was a problem hiding this comment.
Need a difference "Facade" name for the purpose of having a different set of contract references to .NET Framework.
Naming-wise I was split between System.Windows.Forms.Design.Editors.Facade3x and System.Windows.Forms.Design.Editors.Facade.3x. Happy to change if you think the second one is better.
Codecov Report
@@ Coverage Diff @@
## master #2923 +/- ##
===================================================
- Coverage 60.22621% 60.22391% -0.00231%
===================================================
Files 1248 1248
Lines 433396 433396
Branches 38850 38850
===================================================
- Hits 261018 261008 -10
- Misses 167006 167010 +4
- Partials 5372 5378 +6
|
|
Is rollForward from 3 -> 5 supported, or are you doing this as a best-effort solution ? |
This probably still needs a decision, some of the changes beeing considered for 5.0 won't be compatible with roll forward, see my notes in the issue (#2921) |
|
@ericstj perhaps knows more? |
|
The main driving force behind this PR is to unblock the Designer which is currently unable to resolve type editors/converters previously located in System.Windows.Forms.Design.Editors assembly.
It is a best-effort only. |
|
I run tests and verified the fix. Added test methodology section to the description. @dagood I couldn't find how |
The library ecosystem will need to continue working. That is the nature of TFMs. Apps won’t roll forward by default but nothing prevents an app author from making the choice to roll forward. |
|
Yes, starting .NET Core 3.0, rollForward for major versions is supported. Actually this is how we perform compat testing in the AppCompat lab where we opt-in to major version upgrade (.NET 5) for 2.x/3.x apps. |
AdamYoblick
left a comment
There was a problem hiding this comment.
I tested this on a VM and the roll forward seems to be working just fine with these changes. We just need to make sure the WindowsDesktop.App.deps.json gets generated correctly once these changes flow into the WindowsDesktop build.
|
I'm going to merge it as I don't believe there is anything else to do in this repo. |
As for |
As part of consolidation initiative (refer to dotnet#2781) we have merged System.Windows.Forms.Design.Editors.dll into System.Windows.Forms.Design.dll. However doing so we broke roll-forward upgrades for any app depending on types delcared in System.Windows.Forms.Design.Editors.dll. Create a facade assembly that forwards types from original assembly. Resolves dotnet#2921.
As part of consolidation initiative (refer to #2781) we have merged System.Windows.Forms.Design.Editors.dll into System.Windows.Forms.Design.dll.
However doing so we broke roll-forward upgrades for any app depending on types declared in System.Windows.Forms.Design.Editors.dll.
Resolves #2921.
Proposed changes
Customer Impact
Regression?
Test methodology
{ "sdk": { "rollForward": "major" } }Form1:packoption:System.Windows.Forms.Design.Editors.dllMicrosoft Reviewers: Open in CodeFlow