Udostępnij za pośrednictwem


Serializacja binaryFormatter niestandardowych elementów BuildEventArgs i ITaskItems usuniętych dla platformy .NET 7

Program MSBuild na platformie .NET 7 nie obsługuje serializacji niestandardowych BuildEventArgstypów pochodnych i ITaskItempochodnych za pośrednictwem serializatora BinaryFormatter .

Wprowadzona wersja

MSBuild 17.4 (.NET SDK 7.0.100)

Stare zachowanie

Program MSBuild używał klasy BinaryFormatter do zachowania typów niestandardowych pochodzących z elementów BuildEventArgs i ITaskItem w określonych granicach, zwłaszcza w przypadku uruchamiania w środowisku wieloprocesowym.

Nowe zachowanie

Program MSBuild nie będzie już obsługiwać tego mechanizmu, więc kod, który używał typów niestandardowych pochodzących z elementów BuildEventArgs i ITaskItem, może zakończyć się niepowodzeniem.

Przyczyna wprowadzenia zmiany

BinaryFormatter został przestarzały na platformie .NET 5. Zgodnie z tym planem cały kod pierwszej firmy w organizacji dotnet GitHub musi zostać zmigrowany z dala od użycia przez platformę .NET 7. Ta zmiana ma wpływ na funkcje uwidocznione przez użytkownika w programie MSBuild.

  • Skontaktuj się z zespołem MSBuild w tej dyskusji w witrynie GitHub na temat konkretnych przypadków użycia i sposobu migracji z dala od TranslateDotNet mechanizmu.

  • Unikaj zwracania niestandardowych typów pochodnych z zadań lub rejestrowania.