我正在使用Rosyln将我的项目转移到新的.NET Analyzers,以前我使用的是nuget包。我正在尝试执行此处描述的过程:从FxCop分析器迁移到.NET分析器
现在我的csproj看起来像:
<Project>
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
</PropertyGroup>
</Project>
如果TargetFramework
是net5.0
,则所有规则都会返回一个错误,但当它设置为netstandard2.0
时,我无法使其工作。我无法移动到net5.0
,因为此dll被.NET 4.8
项目引用。
如果将<AnalysisLevel>5</AnalysisLevel>
添加到项目文件中,则可以指示不以.NET 5.0为目标的项目使用与以net5.0
为目标的默认项目相同的默认规则。
你可以在这里找到更多关于这方面的信息。
由于移动到.Net 5不是一个选项(分析器是自动启用的(,我建议使用nuget包Microsoft.CodeAnalysis.CSharp来执行分析。