Мы используем глобальный файл .globalconfig для настройки анализаторов dotnet для нашего решения .NET 8. Кроме того, у нас есть глобальный файл .editorconfig, определяющий стиль (отступы и т. д.) и исключения из правил анализатора. (например, мы отключаем некоторые правила для тестовых проектов.). Мы прикрепляем версию .NET через global.json к 8.0.404,latestFeature. Конвейер CI/CD работает в Azure DevOps с использованием версии задачи UseDotNetV2, закрепленной за 8.0.404.
Когда я перестраиваю решение, сборка может получать предупреждения. , но не IntelliSense. Я вижу предупреждение на вкладке ошибок VS, но только при выборе Только сборка в раскрывающемся списке. При переходе к рассматриваемому файлу я также не получаю от VS подсказок или предложений по устранению проблемы.
Кроме того, были случаи, когда локальная сборка dotnet и VS не сообщил ни об ошибках, ни о предупреждениях, но сборка dotnet в конвейере CI\CD сообщила о предупреждениях.
Это создает для нас проблему, поскольку мы используем TreatWarningsAsErrors Возможность повысить уровень предупреждений до ошибок при сборке. Разработчик может зафиксировать код, который локально сообщается как не содержащий ошибок и предупреждений, но сборка в CI завершится сбоем из-за анализатора.
Я чувствую себя здесь немного растерянным. Насколько я понял из документации, анализаторы срабатывают при сборке. Я не мог понять, что запускает IntelliSense, я думал, что он постоянно работает в фоновом режиме. В соответствии с конфигурацией VS (Параметры -> Текстовый редактор -> C# -> Дополнительно) анализаторы настроены для работы с открытыми документами. Поэтому я ожидаю, что IntelliSense выдаст предупреждение о сборке, когда я перейду к соответствующему файлу. Использование Visual Studio Enterprise 2022 версии 17.12.3. Несоответствие между локальной сборкой и конвейером является дополнительной загадкой, поскольку обе системы сборки используют одну и ту же версию .NET.
- Закреплена версия .NET на всех платформах сборки, чтобы 8.0.404
- очистить решение, собрать его заново
- вручную удалить все папки /bin и /obj
li>
Подробнее здесь: https://stackoverflow.com/questions/793 ... -net-build
Мобильная версия