AIKraft/Skills/Миграция Thread Abort

Миграция Thread Abort

Guides migration of .NET Framework Thread.Abort usage to cooperative cancellation in modern .NET. USE FOR: modernizing code that calls Thread.Abort, catching ThreadAbortException, replacing Thread.ResetAbort, replacing Thread.Interrupt for thread termination, resolving PlatformNotSupportedException or SYSLIB0006 after retargeting to .NET 6+, migrating ASP.NET Response.End or Response.Redirect(url,

dotnet official Разработка

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

Помогает мигрировать код .NET Framework, использующий Thread.Abort, на модель кооперативной отмены, требуемую в .NET 6+. Skill определяет паттерн использования и применяет правильную стратегию замены, так как Thread.Abort вызывает PlatformNotSupportedException в современных версиях.

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

  • Миграция проекта .NET Framework на .NET 6+, который вызывает Thread.Abort
  • Замена блоков catch для ThreadAbortException, использующих логику управления потоком или очистки
  • Удаление вызовов Thread.ResetAbort, отменяющих ожидающие аборты
  • Замена Thread.Interrupt для пробуждения заблокированных потоков
  • Миграция кода ASP.NET, использующего Response.End или Response.Redirect(url, true), которые внутренне вызывают Thread.Abort

Как работает

  1. Определить паттерн использования Thread.Abort в коде
  2. Применить правильную стратегию замены в зависимости от выявленного паттерна
  3. Заменить блоки catch ThreadAbortException на кооперативную отмену
  4. Удалить вызовы Thread.ResetAbort
  5. Заменить Thread.Interrupt на механизмы пробуждения потоков в новой модели
  6. Заменить Response.End и Response.Redirect(url, true) на эквиваленты без принудительного завершения потока

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

Как заменить Thread.Abort на кооперативную отмену в .NET 6?
Мигрируй код ASP.NET, использующий Response.End, на современный .NET
Как убрать Thread.ResetAbort и обработать ThreadAbortException при переходе на .NET 6?

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

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

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

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