AIKraft/Skills/Проверка конфликта bin и obj

Проверка конфликта bin и obj

Detects MSBuild projects with conflicting OutputPath or IntermediateOutputPath. USE FOR: builds failing with 'Cannot create a file when that file already exists', 'The process cannot access the file because it is being used by another process', intermittent build failures that succeed on retry, or missing/overwritten outputs in multi-project or multi-targeting builds where bin/obj (or project.asse

dotnet official Другое

Что делает навык

Навык выявляет конфликты путей OutputPath или IntermediateOutputPath при совместной оценке нескольких проектов MSBuild. Это помогает устранить причины сбоев сборки, связанных с доступом к файлам, перезаписью результатов или ошибками восстановления NuGet.

Когда применять

  • Сборки, завершающиеся ошибками 'Cannot create a file when that file already exists' или 'The process cannot access the file because it is being used by another process'.
  • Периодические сбои сборки, которые успешно проходят при повторной попытке.
  • Отсутствующие или перезаписанные результаты в мультипроектных или мультитаргетных сборках.
  • Ошибки восстановления NuGet, указывающие на то, что несколько проектов записывают project.assets.json в один IntermediateOutputPath.

Как работает

  1. Проанализировать проекты MSBuild на наличие совпадающих значений OutputPath или IntermediateOutputPath.
  2. Учесть конфликты между разными проектами, использующими одну директорию вывода.
  3. Проверить сборки с мультитаргетингом (например, TargetFrameworks=net8.0;net9.0), где путь не включает целевую платформу.
  4. Выявить случаи, когда один и тот же проект собирается из разных решений в рамках одной сборки.
  5. Игнорировать экземпляры проектов с BuildProjectReferences=false, так как они не записывают файлы в директории вывода.

Примеры запросов агенту

Найди конфликты OutputPath в моих проектах MSBuild.
Проверь IntermediateOutputPath на наличие коллизий для мультитаргетной сборки.
Обнаружь проекты с конфликтующими путями вывода, вызывающими ошибки доступа к файлам.

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «check-bin-obj-clash» из репозитория: # https://github.com/dotnet/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r check-bin-obj-clash/ ~/.claude/skills/check-bin-obj-clash/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.