Включение анализа кода для результатов проекта .Net Core 2.0 Ошибки CA0055 и CA0052

В настоящее время я получаю ошибки анализа кода CA0055 и CA0052 (как с Visual Studio 2017, так и с помощью команды MSBuild) после настройки приложения ASP.Net Core 2.0 с настраиваемым набором правил анализа кода, которые определены для наших проектов. Пробовали разные способы решения этих ошибок, используя разные предложенные решения, но безуспешно. Пожалуйста, помогите нам в устранении этих ошибок анализа кода ...

Ниже приведены подробные сведения об ошибке.

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 предупреждений

Спасибо, Вену Мадхав.


person venu madhav    schedule 07.10.2017    source источник
comment
Пожалуйста, ответьте на этот вопрос, если у вас есть какие-либо решения или предложения, поскольку это блокирует нашу сборку, чтобы преодолеть эти проблемы анализа кода в наших перенесенных приложениях ASP.Net Core 2.0.   -  person venu madhav    schedule 09.10.2017


Ответы (1)


Эта ошибка вызвана использованием старой версии анализа кода с .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

person Brandon S    schedule 13.10.2017
comment
Чтобы уточнить, это всего лишь обходной путь для его сборки, который требует, чтобы вы отключили анализ кода, а не решение. - person Sam; 29.12.2017
comment
Используемая им разновидность анализа кода (FxCopCmd.exe) не поддерживается для .NET Core 2.0, поскольку это устаревший инструмент. В будущем для .NET Core 2.0 будет использоваться новый инструмент FxCopAnalyzers. Я обновлю свой ответ, чтобы отразить это. - person Brandon S; 11.05.2018
comment
Чтобы быть действительно ясным, это решение для использования анализа кода с .NET Core. Он отключает только старую версию анализа кода. Новая версия (которая работает с .NET Core) по-прежнему будет работать. - person Brandon S; 11.05.2018
comment
Похоже, что если вы хотите использовать файлы анализа SonarQube, вам необходимо включить NuGet SonarAnalyzer.CSharp. Подробнее см. github.com/StefH/SonarLintTest - person Stef Heyenrath; 13.11.2018