Home > Mobile >  CA1062 doesn't trigger in vs2019 net5
CA1062 doesn't trigger in vs2019 net5

Time:12-10

I'm hoping to see CA1062, Validate Argument of public methods. But I'm not. It seems Code analysis is running because I see CA1822 for some items. Here's an example of code I'm hoping would trigger CA1062.

public class FooController : BaseController<IFooProxy>
{
    [HttpPost]
    [Route("bar")]
    public async Task<bool> Bar(string baz)
    {
        bool hasXyz = baz.Contains("xyz");
        Console.WriteLine(hasXyz);

This is the csproj settings:

  <Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
      <TargetFramework>net5.0</TargetFramework>
      <EnableNETAnalyzers>true</EnableNETAnalyzers>
      <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
      <AnalysisLevel>preview</AnalysisLevel>
      <AnalysisMode>All</AnalysisMode>
    </PropertyGroup>

It's actually just a desperate attempt to turn everything on... I find myself missing the previous method, with a property page in the project to select rule set.

StyleCop is long gone, if the above doesn't work somehow, is there any open source way to run the rules?

CodePudding user response:

If you want to enable all rules in .net 5, you should use:

<AnalysisLevel>5.0</AnalysisLevel>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>

BTW in .net 6, it's:

<AnalysisMode>All</AnalysisMode>

https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#analysismode

  • Related