CA1062 在vs2019 net5 中不触发

CA1062 doesn't trigger in vs2019 net5

我希望看到 CA1062,验证 public 方法的参数。但我不是。似乎代码分析是 运行ning 因为我看到一些项目的 CA1822。 这是我希望触发 CA1062 的代码示例。

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

这是 csproj 设置:

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

其实只是孤注一掷的尝试打开一切...我发现自己错过了以前的方法,项目中有一个属性页面到select规则集。

StyleCop 早已不复存在,如果以上方法不起作用,是否有任何开源方式来 运行 规则?

如果你想在 .net 5 中启用所有规则,你应该使用:

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

顺便说一句,在 .net 6 中,它是:

<AnalysisMode>All</AnalysisMode>

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