winforms icon indicating copy to clipboard operation
winforms copied to clipboard

Enable Analyzers disabled as a part of globalconfig merge from runtime

Open elachlan opened this issue 3 years ago • 1 comments

Is your feature request related to a problem? Please describe

List of diagnostics that need to be investigated, fixed, and enabled.

Line  297: dotnet_diagnostic.CA1821.severity = none # TODO: warning
Line  406: dotnet_diagnostic.CA2007.severity = none # TODO: warning
Line  439: dotnet_diagnostic.CA2019.severity = none # TODO: warning
Line  466: dotnet_diagnostic.CA2208.severity = none # TODO: warning
Line  533: dotnet_diagnostic.CA2245.severity = none # TODO: warning
Line  851: dotnet_diagnostic.IL3000.severity = none # TODO: warning
Line  873: dotnet_diagnostic.SA1001.severity = none # TODO: warning
Line  954: dotnet_diagnostic.SA1028.severity = none # TODO: warning
Line 1020: dotnet_diagnostic.SA1121.severity = none # TODO: warning
Line 1044: dotnet_diagnostic.SA1129.severity = none # TODO: warning
Line 1095: dotnet_diagnostic.SA1205.severity = none # TODO: warning
Line 1116: dotnet_diagnostic.SA1212.severity = none # TODO: warning
Line 1137: dotnet_diagnostic.SA1302.severity = none # TODO: warning
Line 1179: dotnet_diagnostic.SA1400.severity = none # TODO: warning
Line 1191: dotnet_diagnostic.SA1404.severity = none # TODO: warning
Line 1212: dotnet_diagnostic.SA1411.severity = none # TODO: warning
Line 1278: dotnet_diagnostic.SA1518.severity = none # TODO: warning
Line 1542: dotnet_diagnostic.IDE0036.severity = none # TODO: warning
Line 1608: dotnet_diagnostic.IDE0059.severity = none # TODO: warning
Line 1645: dotnet_diagnostic.IDE0074.severity = none # TODO: warning

Describe the solution you'd like and alternatives you've considered

N/A

Will this feature affect UI controls?

N/A

elachlan avatar Oct 05 '22 07:10 elachlan

I started investigating CA1416(https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1416). Winforms would have to swap out its OsVersion static class with OperatingSystem.IsWindowsVersionAtLeast().

@JeremyKuhne Coincidently this would remove the need for us to convert the NtDll PInvoke.

Edit: runtime does cache the OSVersion.

elachlan avatar Oct 05 '22 07:10 elachlan

@RussKie CA2007 has single violation: https://github.com/dotnet/winforms/blob/e9a1042a6fd3718324237e843174e2cc5cc3c825/src/Microsoft.VisualBasic.Forms/src/Microsoft/VisualBasic/ApplicationServices/WindowsFormsApplicationBase.vb#L883-L886

I am unsure if ConfigureAwait(false) is correct. I am pretty sure it is, since it should be resolved inside the Task.Run().

elachlan avatar Oct 19 '22 08:10 elachlan

@dreddy-work IDE0059 is complimented by CA1804. Can I enable CA1804 (Remove unused locals)?

elachlan avatar Jan 24 '23 01:01 elachlan

Turns out CA1804 is replaced by IDE0059? But IDE0059 is replacing values with underscores.

elachlan avatar Jan 24 '23 01:01 elachlan

@elachlan, can you share your preferred contact email? I do not see it on your github profile. Like to reach out to you regarding a blog we plan to publish.

dreddy-work avatar Apr 04 '23 22:04 dreddy-work

@dreddy-work thanks!

edited to remove.

elachlan avatar Apr 04 '23 22:04 elachlan