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
我希望看到 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