Toolverse
Wszystkie skille

multithreaded-task-migration

autor: dotnet

Przewodnik konwersji zadań MSBuild do bezpiecznego trybu wielowątkowego

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
dotnet
Kategoria
Backend
Wyświetlenia
1

O skillu

Skill zawiera kompletny przewodnik migracji zadań MSBuild do obsługi wykonywania wielowątkowego. Dowiesz się, jak oznaczyć zadania atrybutem MSBuildMultiThreadableTask, zaimplementować interfejs IMultiThreadableTask i bezpiecznie pracować ze ścieżkami plików oraz zmiennymi środowiskowymi za pomocą TaskEnvironment. Materiał obejmuje kroki migracji, audyt zgodności behawioralnej oraz red-team review dla zadań wymagających bezpieczności wątkowej. Idealne dla deweloperów rozszerzających MSBuild o nowe zadania lub modernizujących istniejący kod.

Jak używać

  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.

Podobne skille