Toolverse
All skills

multithreaded-task-migration

by dotnet

Guide for migrating MSBuild tasks to the multithreaded mode support. Use this when asked to convert tasks to thread-safe versions, implement IMultiThreadableTask, or add TaskEnvironment support to tasks.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
dotnet
Category
Backend
Views
1

About this skill

Guide for migrating MSBuild tasks to the multithreaded mode support. Use this when asked to convert tasks to thread-safe versions, implement IMultiThreadableTask, or add TaskEnvironment support to tasks.

How to use

  1. Zainstaluj skill w swoim środowisku Claude/Copilot jako przewodnik dla migracji zadań MSBuild. Skill będzie dostępny, gdy poprosisz o konwersję zadań do wersji thread-safe lub implementację IMultiThreadableTask.

  2. Przygotuj kod zadania, które chcesz zmigrować. Zidentyfikuj, czy zadanie wykonuje operacje na plikach lub zmiennych środowiskowych — jeśli nie, wystarczy sam atrybut MSBuildMultiThreadableTask bez interfejsu.

  3. Dodaj atrybut [MSBuildMultiThreadableTask] do klasy zadania. Pamiętaj, że atrybut ma Inherited = false, więc musisz go umieścić na każdej konkretnej klasie, nie tylko na bazie.

  4. Jeśli zadanie potrzebuje dostępu do ścieżek lub zmiennych środowiskowych, zaimplementuj interfejs IMultiThreadableTask z właściwością TaskEnvironment ustawioną na TaskEnvironment.Fallback.

  5. Zastąp wszystkie operacje na ścieżkach plikowych wywołaniami TaskEnvironment.GetAbsolutePath() przed użyciem w API systemu plików. To zapewnia, że ścieżki są rozwiązywane względem katalogu projektu, a nie bieżącego katalogu procesu.

  6. Poproś skill o audyt migracji pod kątem zgodności behawioralnej i potencjalnych problemów z bezpieczeństwem wątkowym w Twoim kodzie.

Related skills