Класс MissingInteropDataException (машинный код .NET)

.NET для приложений Windows для Windows 10, только .NET Native

Исключение, которое возникает, когда вызывается ручной метод маршалинга, но не найдены метаданные для типа в ходе статического анализа или в файле директив среды выполнения.

Пространство имен: System.Runtime.CompilerServices

Важно!

Класс MissingInteropDataException предназначен исключительно для внутреннего использования цепочкой инструментов .NET Native. Он не предназначен для использования в стороннем коде. Вам также не следует обрабатывать исключение в коде своего приложения. Вместо этого вы устраняете исключение, добавляя записи в файл директив среды выполнения. Дополнительные сведения см. в разделе «Примечания».

Синтаксис

public class MissingInteropDataException : Exception

В классе MissingInteropDataExceptionпредставлены следующие члены:

Конструкторы

Конструктор Описание
public MissingInteropDataException(String resourceId, Type pertinentType) Инициализирует новый экземпляр класса MissingInteropDataException с использованием идентификатора системного сообщения, описывающего ошибку и тип, данные которого отсутствуют. Этот конструктор предназначен только для внутреннего использования цепочкой инструментов .NET Native.

Свойства

Свойство Описание
public IDictionary Data { get; } Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении. (Является наследником System.Exception)
public string HelpLink { get; set; } Получает или задает ссылку на файл справки, связанный с этим исключением. (Является наследником System.Exception)
public int HResult { get; protected set; } Получает или задает HRESULT, который представляет собой закодированное числовое значение, присвоенное определенному исключению. (Является наследником System.Exception)
public Exception InnerException { get; } Получает исключение, которое вызвало текущее исключение. (Является наследником System.Exception)
public string Message { get; } Возвращает сообщение, описывающее текущее исключение. (Является наследником System.Exception)
public Type MissingType { get; private set; } Получает или задает тип, для которого данные отсутствуют.
public string Source { get; set; } Получает или задает имя приложения или объекта, вызвавшего ошибку. (Является наследником System.Exception)
public string StackTrace { get; } Получает строковое представление непосредственных кадров в стеке вызова. (Является наследником System.Exception)
public MethodBase TargetSite { get; } Возвращает метод, который вызвал текущее исключение. (Является наследником System.Exception)

Методы

Метод Описание
public bool Equals(Object obj) Определяет, равен ли указанный объект текущему объекту. (Является наследником Object)
protected void Finalize() Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора. (Является наследником Object)
public Exception GetBaseException() Возвращает исключение, которое является первопричиной одного или нескольких исключений. (Является наследником System.Exception)
public int GetHashCode() Возвращает хэш-код для экземпляраMissingInteropDataException. (Является наследником Object)
public void GetObjectData(SerializationInfo info, StreamingContext context) Задает объект SerializationInfo, содержащий информацию об исключении. (Является наследником System.Exception)
public Type GetType() Возвращает тип среды выполнения текущего экземпляра. (Является наследником System.Exception)
protected Object MemberwiseClone() Создает неполную копию текущего объекта. (Является наследником Object)
public string ToString() Возвращает строковое представление текущего исключения. (Является наследником System.Exception)

События

Событие Описание
protected event EventHandler<SafeSerializationEventArgs> SerializeObjectState Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Является наследником System.Exception)

сведения о потреблении;

Исключение MissingInteropDataException возникает, если вызов метода в компонент COM или среду выполнения Windows не удается выполнить успешно, поскольку информация о типе недоступна.

Метаданные, доступные для приложения во время выполнения определяются файлом директив среды выполнения (XML-файл конфигурации), *. rd.xml. Чтобы избежать возникновения этого исключения приложения, необходимо изменить этот файл для определения метаданных, которые должны присутствовать во время выполнения. Чаще всего, можно устранить эту ошибку путем добавления атрибута MarshalObject, MarshalDelegate, или MarshalStructure к соответствующему программному элементу файла директив среды выполнения. Сведения о формате этого файла см. в разделе Справочник по конфигурационному файлу директив среды выполнения (rd.xml).

Важно!

Так как это исключение указывает, что метаданные, необходимые приложению, недоступны во время выполнения, не следует обрабатывать это исключение в блоке try/catch . Вместо этого следует выяснить причину возникновения исключения и устранить ее, добавив соответствующую запись в файл директив среды выполнения.

Класс MissingInteropDataException содержит один уникальный член, свойство MissingType, указывающее тип, метаданные которого необходимы для успешного вызова метода. Все оставшиеся члены наследуются от базового класса, System.Exception.

См. также раздел