Пользовательские маршаллеры требуют дополнительных элементов
Пользовательский анализатор маршализатора изменился, чтобы все режимы маршалирования, ориентированные на элемент, соответствовали как управляемым, так и неуправляемых и неуправляемых фигур.
Прежнее поведение
Пользовательские маршаллеры с MarshalMode.ElementIn
необходимым методом ConvertToUnmanaged
. Пользовательские маршаллеры с MarshalMode.ElementOut
необходимым методом ConvertToManaged
.
Новое поведение
Начиная с .NET 8, SYSLIB1057 сообщается для пользовательских маршаллеров с MarshalMode.ElementIn
или MarshalMode.ElementOut
которые не имеют ConvertToUnmanaged
ConvertToManaged
и метода.
Представленные версии
.NET 8 RC 1
Тип критического изменения
Это изменение может повлиять на совместимость исходного кода.
Причина изменения
При внедрении созданных источником COM маршализаторы можно использовать в сценариях элементов как в управляемых, так и неуправляемых и неуправляемых сценариях. Это изменение обновляет анализатор, чтобы убедиться, что определяемые пользователем маршаллеры имеют необходимые элементы для всех сценариев, где может использоваться маршализатор.
Рекомендуемое действие
Добавьте как метод, ConvertToManaged
так и ConvertToUnmanaged
в тип маршаллера.