AIKraft/Skills/msbuild модернизация

msbuild модернизация

Guide for modernizing and migrating MSBuild project files to SDK-style format. USE FOR: converting legacy .csproj/.vbproj with verbose XML to SDK-style, migrating packages.config to PackageReference, removing Properties/AssemblyInfo.cs in favor of auto-generation, eliminating explicit <Compile Include> lists via implicit globbing, consolidating shared settings into Directory.Build.props. Indicator

dotnet official Другое

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

Навык автоматизирует миграцию устаревших файлов проектов MSBuild (.csproj/.vbproj) в современный SDK-style формат. Он устраняет избыточный XML, заменяет packages.config на PackageReference, удаляет Properties/AssemblyInfo.cs и консолидирует настройки, сокращая размер файлов проектов.

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

  • Конвертация старых .csproj файлов с избыточным XML в компактный SDK-style формат
  • Миграция управления пакетами с packages.config на PackageReference
  • Удаление файла Properties/AssemblyInfo.cs в пользу автогенерации атрибутов сборки
  • Замена явных списков файлов Compile Include на неявный globbing
  • Консолидация общих настроек сборки в Directory.Build.props

Как работает

  1. Заменить корневой элемент <Project> на <Project Sdk="Microsoft.NET.Sdk">, удалив атрибуты ToolsVersion, xmlns и элементы <Import>
  2. Заменить свойство TargetFrameworkVersion на TargetFramework, используя таблицу соответствия версий (например, v4.7.2 -> net472)
  3. Удалить явные элементы <Compile Include> и <Content Include>, так как SDK использует неявный globbing, сохранив только файлы с особыми метаданными
  4. Удалить файл Properties/AssemblyInfo.cs и перенести атрибуты сборки (Title, Description, Version и др.) в свойства проекта <PropertyGroup>
  5. Заменить содержимое packages.config на элементы <PackageReference> в .csproj и удалить файл packages.config
  6. Удалить избыточный шаблонный код (стандартные конфигурации Debug/Release, ссылки на системные сборки, элементы Service), оставив только отличия от SDK-значений по умолчанию

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

Мигрируй мой устаревший .csproj файл в SDK-style формат, удалив лишние импорты и настройки
Замени packages.config на PackageReference в моем проекте и перенеси атрибуты сборки из AssemblyInfo.cs
Оптимизируй .csproj проект: убери явные списки файлов и настрой автогенерацию атрибутов

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

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

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

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