在.NET标准项目中使用.NET分析器启用所有规则



我正在使用Rosyln将我的项目转移到新的.NET Analyzers,以前我使用的是nuget包。我正在尝试执行此处描述的过程:从FxCop分析器迁移到.NET分析器

现在我的csproj看起来像:

<Project>
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
</PropertyGroup>
</Project>

如果TargetFrameworknet5.0,则所有规则都会返回一个错误,但当它设置为netstandard2.0时,我无法使其工作。我无法移动到net5.0,因为此dll被.NET 4.8项目引用。

如果将<AnalysisLevel>5</AnalysisLevel>添加到项目文件中,则可以指示不以.NET 5.0为目标的项目使用与以net5.0为目标的默认项目相同的默认规则。

你可以在这里找到更多关于这方面的信息。

由于移动到.Net 5不是一个选项(分析器是自动启用的(,我建议使用nuget包Microsoft.CodeAnalysis.CSharp来执行分析。

最新更新