为 .Net Core 2.0 项目结果启用代码分析 CA0055 和 CA0052 错误

ven*_*hav 6 code-analysis msbuild-task asp.net-core asp.net-core-2.0

目前,在使用为我们的项目定义的自定义代码分析规则集配置 ASP.Net Core 2.0 应用程序后,我收到 CA0055 和 CA0052 代码分析错误(使用 Visual Studio 2017 和使用 MSBuild 命令)。通过提供的不同解决方案尝试了不同的方法来解决这些错误,但没有运气。请帮助我们解决这些代码分析错误...

以下是错误详情

MSBUILD:错误:CA0055:无法识别“D:\Source\Temp\WebClient\Business\bin\Debug\netco reapp2.0\Business.dll”的平台。[D:\Source\Temp\WebClient\Business\Business.csproj] MSBUILD:错误:CA0052:未选择任何目标。[D:\Source\Temp\WebClient\Business\Business.csproj] 代码分析完成 -- 2 个错误,0 个警告

谢谢,维努马达夫。

Bra*_*n S 7

此错误是由于在 .NET Core 中使用旧版本的代码分析引起的。此旧版本仅适用于非 .NET Core 应用程序。

解决方案是禁用 .NET Core 项目的旧代码分析并安装新版本的代码分析,它现在是一个 NuGet 包。(您可能希望为您的项目禁用旧的代码分析工具而不卸载它的原因是,您仍然可以将旧的代码分析用于旧的 .NET 应用程序,例如 .NET 4.5。)

  1. 在解决方案中的项目之一中安装代码分析 NuGet 包: Microsoft.CodeAnalysis.FxCopAnalyzers

    请参阅https://github.com/dotnet/roslyn-analyzers#recommended-version-of-analyzer-packages以根据您的 Visual Studio 版本选择正确的包版本。

  2. RunCodeAnalysis从 .csproj 文件中删除该元素(如果存在)。这样做是为了禁用旧版代码分析。您安装的新版本仍然有效。

此处描述了其他详细信息:https : //github.com/dotnet/roslyn-analyzers/issues/1313