Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aangepaste afgeleide buildgebeurtenissen van een subklasse van BuildEventArgs eventuele build-uitbreidbaarheid (voornamelijk aangepaste taken) zijn afgeschaft.
Vorig gedrag
Voorheen kon u van elke subklasse van BuildEventArgs afleiden en deze typen vrij gebruiken in aangepaste taken en andere uitbreidbaarheidspunten voor bouwen.
Nieuw gedrag
Vanaf .NET 8 wordt er een buildfout uitgegeven als uw code gebruikmaakt van een type dat is afgeleid van BuildEventArgs en u bouwt met behulp van de .NET 8-versie van MSBuild, dat wil gezegd, vanaf de opdrachtregel:
Gebruik van onbeveiligde BinaryFormatter tijdens serialisatie van aangepast gebeurtenistype 'MyCustomBuildEventArgs'. Dit wordt binnenkort afgeschaft. Gebruik in plaats daarvan Extended*EventArgs. Meer informatie: https://aka.ms/msbuild/eventargs.
In .NET 10 is het foutbericht gewijzigd in:
Aangepast gebeurtenistype 'MyCustomBuildEventArgs' wordt niet ondersteund omdat alle aangepaste gebeurtenistypen zijn afgeschaft. Gebruik in plaats daarvan Extended*EventArgs. Meer informatie: https://aka.ms/msbuild/eventargs.
Vanaf Visual Studio versie 17.10 geldt hetzelfde gedrag voor builds in Visual Studio.
Geïntroduceerde versie
.NET 8 RC 1
Type wijziging
Deze wijziging is een gedragswijziging.
Reden voor wijziging
BinaryFormatter serialisatie is verouderd in .NET 8 en latere versies. Elk gebruik van BinaryFormatter wordt als onveilig beschouwd en veroorzaakt tijdens runtime een uitzondering. Omdat aangepaste afgeleide build-gebeurtenissen van MSBuild worden gebruikt BinaryFormatter, loopt uw build vast als u deze gebeurtenissen in uw build hebt gebruikt. De nieuwe buildfout biedt een meer sierlijke mislukking.
Aanbevolen actie
Gebruik een van de volgende nieuwe, ingebouwde gebeurtenissen voor uitbreidbaarheid in plaats van uw aangepaste afgeleide buildgebeurtenis:
- ExtendedCustomBuildEventArgs
- ExtendedBuildErrorEventArgs
- ExtendedBuildMessageEventArgs
- ExtendedBuildWarningEventArgs
U kunt de controle ook tijdelijk uitschakelen door de omgevingsvariabele MSBUILDCUSTOMBUILDEVENTWARNING expliciet in te stellen op iets anders dan 1.