Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Причина
При публикации приложения с использованием Native AOT (задав PublishAot свойство true в проекте), вызывающие члены, аннотированные с атрибутом RequiresDynamicCodeAttribute, могут вызвать исключения во время выполнения. Члены, аннотированные с этим атрибутом, могут потребовать возможности динамического создания нового кода во время выполнения, а модель публикации Native AOT не предоставляет способ создания машинного кода во время выполнения.
Описание правила
RequiresDynamicCodeAttribute указывает, что элемент ссылается на код, который может потребовать генерации в процессе выполнения.
Пример
// 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 { }
Устранение нарушений
Члены, помеченные атрибутом, RequiresDynamicCodeAttribute имеют сообщение, которое предоставляет полезную информацию пользователям, которые публикуются как Native AOT. Попробуйте привести текущий код в соответствие с сообщением атрибута или удалить нарушающий вызов.
Некоторые API-интерфейсы, аннотированные с RequiresDynamicCodeAttribute предупреждением, не активируются при вызове в определенном шаблоне. Дополнительные сведения см. в разделе Встроенные API, помеченные как RequiresDynamicCode.