I have an older WinForms application that I'm updating from .NET 6 to .NET 8.
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<Nullable>enable</Nullable>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
But now I get hundreds of errors, such as the following.
3>C:\Users\jwood\Source\Repos\SoftCircuits\HtmlMonkey\TestHtmlParse\HtmlVisualizer.cs(92,21,92,40): warning CA1416: This call site is reachable on all platforms. 'ListView.Items' is only supported on: 'windows' 6.1 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
3>C:\Users\jwood\Source\Repos\SoftCircuits\HtmlMonkey\TestHtmlParse\NodeVisualizer.cs(157,30,157,62): warning CA1416: This call site is reachable on all platforms. 'ListView.ColumnHeaderCollection.Add(string?)' is only supported on: 'windows' 6.1 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
3>C:\Users\jwood\Source\Repos\SoftCircuits\HtmlMonkey\TestHtmlParse\NodeVisualizer.cs(154,13,154,27): warning CA1416: This call site is reachable on all platforms. 'ListView.Items' is only supported on: 'windows' 6.1 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
3>C:\Users\jwood\Source\Repos\SoftCircuits\HtmlMonkey\TestHtmlParse\HtmlVisualizer.cs(86,21,86,33): warning CA1416: This call site is reachable on all platforms. 'TextBox.Text' is only supported on: 'windows' 6.1 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
3>C:\Users\jwood\Source\Repos\SoftCircuits\HtmlMonkey\TestHtmlParse\NodeVisualizer.cs(157,30,157,46): warning CA1416: This call site is reachable on all platforms. 'ListView.Columns' is only supported on: 'windows' 6.1 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
3>C:\Users\jwood\Source\Repos\SoftCircuits\HtmlMonkey\TestHtmlParse\NodeVisualizer.cs(158,17,158,29): warning CA1416: This call site is reachable on all platforms. 'ColumnHeader.Width' is only supported on: 'windows' 6.1 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
I don't really understand what is going on here. My solution includes non-WinForms projects, but I don't see how that could cause this error about being reachable on all platforms.
I tested and it works fine with net7.0-windows
. I'm running on Windows 11.
Does anyone know why I'm getting this error with .NET 8?
I don't know why Microsoft didn't provide an easy workaround for this breaking change. I tried the suggested fixes but it only caused other problems.
I was able to fix it by creating a new WinForms project using .NET 8, and then copying over the files to the new project. That fix works for me.