Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Причина
Вызов (или доступ через отражение) к члену, аннотированному с помощью RequiresUnreferencedCodeAttribute.
Рассмотрим пример.
[RequiresUnreferencedCode("Use 'MethodFriendlyToTrimming' instead", Url="http://help/unreferencedcode")]
void MethodWithUnreferencedCodeUsage()
{
}
void TestMethod()
{
// IL2026: Using method 'MethodWithUnreferencedCodeUsage' which has 'RequiresUnreferencedCodeAttribute'
// can break functionality when trimming application code. Use 'MethodFriendlyToTrimming' instead. http://help/unreferencedcode
MethodWithUnreferencedCodeUsage();
}
Описание правила
RequiresUnreferencedCodeAttribute указывает, что ссылки члена содержат код, который может быть удален триммером.
Распространенные примеры:
Load(String) помечен как
RequiresUnreferencedCode, поскольку загружаемая сборка может обращаться к членам, которые были удалены. Триммер удаляет всех членов из фреймворка, кроме тех, которые непосредственно используются приложением, поэтому, скорее всего, загрузка новых сборок в процессе выполнения программы попытается получить доступ к отсутствующим членам.XmlSerializer помечается как
RequiresUnreferencedCodeиз-за того, чтоXmlSerializerиспользует сложное отражение для сканирования типов входных данных. Отражение не может отслеживаться триммером, поэтому элементы, транзитивно используемые типами ввода, могут быть удалены.