fix: Restore missing TF for System.Windows.Forms.HighDpiMode#2932
fix: Restore missing TF for System.Windows.Forms.HighDpiMode#2932RussKie merged 1 commit intodotnet:masterfrom
System.Windows.Forms.HighDpiMode#2932Conversation
Resolves dotnet#2925 `System.Windows.Forms.HighDpiMode` was accidentally placed under `Internal` namespace, which caused a missing type-forward decoration. This resulted in users receiving the following error when attempting to roll forward from .NET Core 3.x to .NET 5: ``` System.MissingMethodException : Method not found: 'Boolean System.Windows.Forms.Application.SetHighDpiMode(System.Windows.Forms.HighDpiMode)'. ``` Move the type into the correct location and add the missing `TypeForward` decoration.
Codecov Report
@@ Coverage Diff @@
## master #2932 +/- ##
===================================================
+ Coverage 60.23314% 60.26129% +0.02815%
===================================================
Files 1248 1248
Lines 433396 433396
Branches 38850 38850
===================================================
+ Hits 261048 261170 +122
+ Misses 166968 166857 -111
+ Partials 5380 5369 -11
|
|
@RussKie It seems at present Please let me know if I am missing something. I also noticed that this file is under Are there other such types which need to be made public ? |
No, it is a simple convention with no enforcement - all
I have double-checked all others, all good. |
|
Would it be better to move |
|
Is it possible to dump all public type names from System.Windows.Forms v3.1, then add a test that dumps out the same from the current version of this assembly and compare the lists? Then get |
We can't do that. It is used by types residing in System.Windows.Forms.Primitives.
I think what you're proposing falls under the API Compat story (which we've been neglecting). We can work on this separately, once we get over the hump. There is a significant value in automating the verification. |
Ok. TF seems fine then. |
|
I run tests and verified the fix. Added test methodology section to the description. |
…t#2932) Resolves dotnet#2925 `System.Windows.Forms.HighDpiMode` was accidentally placed under `Internal` namespace, which caused a missing type-forward decoration. This resulted in users receiving the following error when attempting to roll forward from .NET Core 3.x to .NET 5: ``` System.MissingMethodException : Method not found: 'Boolean System.Windows.Forms.Application.SetHighDpiMode(System.Windows.Forms.HighDpiMode)'. ``` Move the type into the correct location and add the missing `TypeForward` decoration.
Resolves #2925
System.Windows.Forms.HighDpiModewas accidentally placed underInternalnamespace, which caused a missing type-forward decoration.This resulted in users receiving the following error when attempting to roll forward from .NET Core 3.x to .NET 5:
Proposed changes
TypeForwarddecoration.Customer Impact
Boolean System.Windows.Forms.Application.SetHighDpiMode(System.Windows.Forms.HighDpiMode)Regression?
Risk
Test methodology
{ "sdk": { "rollForward": "major" } }packoption:System.Windows.Forms.dllandSystem.Windows.Forms.Primitives.dllMicrosoft Reviewers: Open in CodeFlow