I am attempting to use Microsoft.CodeAnalysis.NetAnalyzers in a legacy .NET 4.5 app that cannot be upgraded for reasons.
According to the documentation you can install the Microsoft.CodeAnalysis.NetAnalyzers NuGet package and use the Analysers in 'older' .net versions. How old, I am not sure.
If you don't want to move to the .NET 5+ SDK, have a non-SDK-style .NET Framework project, or prefer a NuGet package-based model, the analyzers are also available in the Microsoft.CodeAnalysis.NetAnalyzers NuGet package.
The Errors do show in the Visual Studio Error List under "Build + IntelliSense" but do not show under the regular "Build" so subsequently the build does not fail even if there are errors configured in the .editorconfig
I imagine that the Visual Studio IntelliSense is using the .NET 5 SDK to show the errors and then the actual build is using .NET 4.5 so is unaware of the analysis rules? But then what is the NuGet package supposed to be doing?
Is this just not supported in such an old .NET Framework version? That quote from the documentation suggests that some older frameworks should be able to use it.
I have a blank, file new project .NET 4.5 Console app with Microsoft.CodeAnalysis.NetAnalyzers installed and a simple .editorconfig with a sample rule
dotnet_diagnostic.IDE0010.severity = error
If so, what are alternatives? StyleCop "Classic"?