Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benutzerdefinierte abgeleitete Buildereignisse jeder Unterklasse von BuildEventArgs durch jede Builderweiterung (hauptsächlich benutzerdefinierte Aufgaben) wurden als veraltet markiert.
Vorheriges Verhalten
Vorher konnten Sie von jeder Unterklasse des Typs BuildEventArgs ableiten und diese Typen frei in benutzerdefinierten Aufgaben und anderen Erweiterungspunkten des Builds verwenden.
Neues Verhalten
Ab .NET 8 tritt ein Buildfehler auf, wenn Ihr Code einen Typ verwendet, der von BuildEventArgs abgeleitet ist, und Sie den Code mit der .NET 8-Version von MSBuild, d. h. über die Befehlszeile, erstellen.
Verwendung unsicherer BinaryFormatter während der Serialisierung des benutzerdefinierten Ereignistyps "MyCustomBuildEventArgs". Dies wird bald nicht mehr unterstützt. Verwenden Sie stattdessen "Extended*EventArgs". Weitere Informationen: https://aka.ms/msbuild/eventargs.
In .NET 10 wurde die Fehlermeldung wie folgt geändert:
Der benutzerdefinierte Ereignistyp "MyCustomBuildEventArgs" wird nicht unterstützt, da alle benutzerdefinierten Ereignistypen veraltet waren. Verwenden Sie stattdessen "Extended*EventArgs". Weitere Informationen: https://aka.ms/msbuild/eventargs.
Ab Visual Studio, Version 17.10, gilt das gleiche Verhalten für Builds in Visual Studio.
Eingeführte Version
.NET 8 RC 1
Art der Änderung
Diese Änderung ist eine Verhaltensänderung.
Grund für Änderung
BinaryFormatter Die Serialisierung ist in .NET 8 und höheren Versionen veraltet. Jede Verwendung von BinaryFormatter gilt als unsicher und löst zur Laufzeit eine Ausnahme aus. Da benutzerdefinierte abgeleitete MSBuild-Buildereignisse verwendet werden BinaryFormatter, stürzt ihr Build ab, wenn Sie diese Ereignisse in Ihrem Build verwendet haben. Der neue Buildfehler sorgt für einen geordneteren Fehler.
Empfohlene Aktion
Verwenden Sie eines der folgenden neu eingeführten eingebauten Ereignisse für die Erweiterbarkeit anstelle des benutzerdefinierten abgeleiteten Erstellungsereignisses.
- ExtendedCustomBuildEventArgs
- ExtendedBuildErrorEventArgs
- ExtendedBuildMessageEventArgs
- ExtendedBuildWarningEventArgs
Alternativ können Sie die Überprüfung vorübergehend deaktivieren, indem Sie die Umgebungsvariable MSBUILDCUSTOMBUILDEVENTWARNING explizit auf einen anderen Wert als 1festlegen.