Как .editorconfig взаимодействует с Visual Studio IntelliSense и сборкой .NET?C#

Место общения программистов C#
Ответить
Anonymous
 Как .editorconfig взаимодействует с Visual Studio IntelliSense и сборкой .NET?

Сообщение Anonymous »

Я заметил несоответствия между ошибками и предупреждениями, обнаруженными Visual Studio, локально выполняемой сборкой dotnet и сборкой dotnet , выполняемой конвейером CI/CD.
Мы используем глобальный файл .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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»