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.
Oorzaak
Wanneer u een app publiceert als Native AOT (door de PublishAot-eigenschap true in te stellen in een project), kunnen leden die zijn geannoteerd met het RequiresDynamicCodeAttribute-kenmerk, leiden tot uitzonderingen tijdens de uitvoering. Leden die zijn geannoteerd met dit kenmerk, hebben mogelijk de mogelijkheid nodig om dynamisch nieuwe code te maken tijdens runtime en het systeemeigen AOT-publicatiemodel biedt geen manier om systeemeigen code tijdens runtime te genereren.
Beschrijving van regel
RequiresDynamicCodeAttribute geeft aan dat het lid verwijst naar code die tijdens runtime mogelijk codegeneratie vereist.
Opmerking
// AOT analysis warning IL3050: Program.<Main>$(String[]): Using member 'System.Type.MakeGenericType(Type[])'
// which has 'RequiresDynamicCodeAttribute' can break functionality when AOT compiling. The native code for
// this instantiation might not be available at runtime.
typeof(Generic<>).MakeGenericType(unknownType);
class Generic<T> { }
struct SomeStruct { }
Schendingen oplossen
Leden die zijn geannoteerd met het RequiresDynamicCodeAttribute kenmerk hebben een bericht dat nuttige informatie biedt aan gebruikers die publiceren als systeemeigen AOT. Overweeg om bestaande code aan te passen aan het bericht van het kenmerk of om de aanroep te verwijderen.
Sommige API's waarvoor RequiresDynamicCodeAttribute aantekeningen zijn gemaakt, activeren geen waarschuwing wanneer ze in een specifiek patroon worden aangeroepen. Zie Intrinsieke API's gemarkeerd als RequiresDynamicCode voor meer informatie.