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

时间:2017-05-25 12:39:36

标签: asp.net-core msbuild .net-core code-analysis 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包,但我不知道如何使用它。有人知道如何在项目中进行设置吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

您需要Nuget软件包Microsoft.CodeAnalysis.FxCopAnalyzers。将其添加到您的项目中,您将收到警告。参见here for some more Analyzers

如果您尝试在带有.Net Core项目的解决方案上运行旧代码分析,则可以通过在项目文件的末尾添加自定义目标,为每个项目将其关闭(请参见here)。 / p>

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