Я был занят включением анализа кода для одного из наших решений.В пятницу все шло хорошо.
Я добавил в один наших файлов csproj следующее:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<CodeAnalysisRuleSet>ca.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.2" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" />
</ItemGroup>
И потратил некоторое время в пятницу, работая с предупреждениями, например так:
- Отключить все предупреждения в ca.ruleset
- Включить один
- Исправить все экземпляры
- Перестроить решение, чтобы проверитьИсправление
- GOTO 2
Это сработало очень хорошо.Я пришел этим утром и взял с того места, на котором остановился, за исключением того, что когда я перешел к шагу 4 (перестройка решения), у меня неожиданно появилось 3k + предупреждений из нашего проекта модульного тестирования.
Я не уверен, почемуанализ кода теперь применяется к этому другому проекту, и я не могу его отключить.
Некоторые наблюдения:
- Файл csproj проекта модульного тестирования не имеет ссылок наFxCop или StyleCop.
- Также это никак не относится к ruleset.ca
dotnet clean
не помогает - Проверка другой ветви (одна без CA)включен) останавливает анализ для обоих проектов (как и ожидалось), но переключение обратно приводит к повторному анализу обоих.
- Я использую VS Code, поэтому не могу поиграть с какими-либо настройками графического интерфейса, которые люди (в соответствии с моим поиском в Google) рекомендуют при проблемах CA
- Мой файл .sln неПохоже, что вообще нет никакой ссылки на CA - это просто обычные определения проектов и сборок.
Я начинаю думать, что это должно быть проблемой с MSBuild.
Кто-нибудь когда-нибудь видел это раньше?Что это было за исправление?
Обновление: сообщил об ошибке с командой MSBuild.
Согласно отчету об ошибках, этоКажется, это общая вещь MSBuild и не связана с какой-либо конкретной средой.Сейчас я просто добавлю общий набор правил ignore
, но вряд ли он идеален.