Sérialisation BinaryFormatter de BuildEventArgs et ITaskItems personnalisés supprimés dans .NET 7

MSBuild dans .NET 7 ne prend pas en charge la sérialisation des types personnalisés dérivés BuildEventArgs et dérivés ITaskItem via le sérialiseur BinaryFormatter.

Version introduite

MSBuild 17.4 (kit SDK .NET 7.0.100)

Ancien comportement

MSBuild a utilisé BinaryFormatter pour conserver les types personnalisés dérivés de BuildEventArgs et ITaskItem au-delà de certaines limites, notamment lors de l’exécution dans un environnement à plusieurs processus.

Nouveau comportement

MSBuild ne prend plus en charge ce mécanisme, ce qui peut entraîner l’échec du code qui utilisait des types personnalisés dérivés de BuildEventArgs et ITaskItem.

Raison du changement

BinaryFormatter est devenu obsolète dans .NET 5. Conformément à ce plan, l’ensemble du code interne de l’organisation GitHub .NET ne doit plus l’utiliser pour .NET 7. Cette modification affecte les fonctionnalités exposées par l’utilisateur de MSBuild.

  • Collaborez avec l’équipe MSBuild dans cette discussion GitHub pour aborder vos cas d’usage spécifiques et la manière de cesser d’utiliser le mécanisme TranslateDotNet.

  • Évitez de retourner des types dérivés personnalisés à partir de tâches ou lors de la journalisation.