Поделиться через


ДИАГНОСТИКА SYSLIB для создания источника p/invoke

В следующей таблице показаны диагностические идентификаторы для анализаторов исходного поколения платформы (p/invoke) в .NET 7 и более поздних версиях. SYSLIB1054 автоматически оповещает вас о местах, которые можно использовать для создания исходного кода для создания кода маршаллинга p/invoke во время компиляции. Оставшееся диагностика оповещение об ошибках, связанных с использованием исходного генератора.

ИД диагностики Заголовок Descriptions
SYSLIB1050 Недопустимое LibraryImportAttribute использование. — Метод "{0}" должен быть "статическим", "частичным" и не универсальным, если помечается параметром LibraryImportAttribute. Создание источника P/Invoke будет игнорировать метод '{0}'.
— Метод '{0}' содержится в типе '{1}', который не помечен как частичный. Создание источника P/Invoke будет игнорировать метод '{0}'.
— Конфигурация StringMarshalling и StringMarshallingCustomType для метода '{0}' является недопустимой.
SYSLIB1051 Указанный тип не поддерживается созданными источником p/invokes. — Созданный источник не будет обрабатывать маршалирование параметра '{1}'.
— Созданный источник не будет обрабатывать маршалирование возвращаемого значения метода '{1}'.
SYSLIB1052 Указанная конфигурация не поддерживается созданными источником p/invokes. — Конфигурация не поддерживается источником, созданным P/Invokes. Если указанная конфигурация необходима, используйте обычную DllImport .
— Указанная конфигурация параметра '{1}' не поддерживается источником P/Invokes.
— Указанная конфигурация для возвращаемого значения метода '{1}' не поддерживается источником, созданным P/Invokes.
— Указанное значение "{1}" не поддерживается источником, созданным P/Invokes.
— указанная конфигурация маршаллинга не поддерживается источником, созданным P/Invokes.
SYSLIB1053 Указанные LibraryImportAttribute аргументы нельзя перенаправить в DllImportAttribute. "{0}" не имеет эквивалента в DllImportAtttribute и не будет перенаправляться.
SYSLIB1054 Используйте LibraryImportAttribute вместо DllImportAttribute создания кода маршаллинга p/invoke во время компиляции.
SYSLIB1055 Недопустимое CustomMarshallerAttribute использование.
SYSLIB1056 Указанный собственный тип недопустим.
SYSLIB1057 Тип маршаллера не имеет требуемой фигуры.
SYSLIB1058 Недопустимое NativeMarshallingAttribute использование.
SYSLIB1059 Тип маршаллатора не поддерживает выделение конструктора.
SYSLIB1060 Указанный тип маршаллера недопустим.
SYSLIB1061 Тип маршаллера имеет несовместимые сигнатуры метода.
SYSLIB1062 Проект должен быть обновлен с <AllowUnsafeBlocks>true</AllowUnsafeBlocks>помощью .

Дополнительные сведения о создании источника для p/invoke см. в разделе "Создание источника" для вызовов платформ и учебника. Использование пользовательских маршаллеров в источниках P/Invokes.

См. также