De BinaryFormatter-serialisatiefunctie voor aangepaste BuildEventArgs en ITaskItems is verwijderd in .NET 7.

MSBuild in .NET 7 biedt geen ondersteuning voor serialisatie van aangepaste BuildEventArgs-afgeleide en ITaskItem-afgeleide typen via de BinaryFormatter serializer.

Geïntroduceerde versie

MSBuild 17.4 (.NET SDK 7.0.100)

Oud gedrag

MSBuild heeft BinaryFormatter gebruikt om aangepaste typen te behouden die zijn afgeleid van BuildEventArgs en ITaskItem over bepaalde grenzen, met name wanneer ze worden uitgevoerd in een omgeving met meerdere processen.

Nieuw gedrag

MSBuild biedt geen ondersteuning meer voor dit mechanisme, dus code die aangepaste typen heeft gebruikt die zijn afgeleid van BuildEventArgs en ITaskItem, kan mislukken.

Reden voor wijziging

BinaryFormatter is als verouderd beschouwd in .NET 5. Volgens dit plan moeten alle eigen code in de Dotnet GitHub-organisatie worden gemigreerd van het gebruik door .NET 7. Deze wijziging is van invloed op door de gebruiker blootgestelde functionaliteit van MSBuild.

  • Neem contact op met het MSBuild-team in deze GitHub-discussie over uw specifieke use cases en hoe u kunt migreren van het TranslateDotNet mechanisme.

  • Vermijd het retourneren van aangepaste afgeleide datatypes van taken of bij het loggen.