VS2017中dotnet核心项目的代码分析

ang*_*per 9 msbuild code-analysis .net-core asp.net-core visual-studio-2017

我想为我的dotnet核心项目添加代码分析(FxCop,而不是StyleCop),它的目标是netcoreapp1.1框架.我知道FxCop是在MSBuild中构建的,但是当我启用它时,我不断收到错误:

1> MSBUILD:错误:CA0055:无法识别'C:\ Dev\easycube\EasyCube.Authentication\bin\Debug \netcoreapp1.1\EasyCube.Authentication.dll'的平台.1> MSBUILD:错误:CA0052:未选择任何目标.

然后我发现有针对dotnet核心分析器Microsoft.NetCore.Analyzers的Nuget包,但我不知道如何使用它.有谁知道如何在项目上进行设置?

谢谢.

hab*_*kuk 1

.Net Core 不支持旧方式的代码分析。

您需要 Nuget 包Microsoft.CodeAnalysis.FxCopAnalyzers。将其添加到您的项目中,您将收到警告。请参阅此处了解更多分析器

如果您尝试在包含 .Net Core 项目的解决方案上运行旧代码分析,您可以通过在项目文件末尾添加自定义目标来为每个项目关闭它(请参阅此处):

<Target Name="IgnoreRunCodeAnalysis" Condition=" '$(RunCodeAnalysis)' == 'true' " BeforeTargets="RunCodeAnalysis">
    <Message Importance="normal" Text="Set RunCodeAnalysisOnThisProject to false" />
    <PropertyGroup>
        <RunCodeAnalysisOnThisProject>false</RunCodeAnalysisOnThisProject>
    </PropertyGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)