MissingMetadataException, classe (.NET Native)

.NET pour les applications Windows pour Windows 10, .NET Native uniquement

Exception levée quand la réflexion est utilisée pour récupérer des métadonnées qui ne sont pas présentes.

Espace de noms : System.Reflection

Important

La MissingMetadataException classe est destinée uniquement à une utilisation interne par la chaîne d’outils .NET Native. Elle n'est pas destinée à être utilisée dans du code tiers ni à traiter l'exception dans le code de votre application. Au lieu de cela, éliminez l’exception en ajoutant des entrées à votre fichier de directives runtime. Pour plus d'informations, consultez la section Notes.

Syntaxe

public sealed class MissingMetadataException : TypeAccessException

Notez que la classe MissingMetadataException est dérivée de TypeAccessException.

La classe MissingMetadataException possède les membres suivants :

Constructeurs

Constructeur Description
public MissingMetadataException() Initialise une nouvelle instance de la classe MissingMetadataException à l'aide d'un message système qui décrit l'erreur.

Ce constructeur est destiné à être utilisé en interne par la chaîne d’outils .NET Native uniquement.
public MissingMetadataException(String message) Initialise une nouvelle instance de la classe MissingMetadataException avec un message d'erreur spécifié.

Ce constructeur est destiné à être utilisé en interne par la chaîne d’outils .NET Native uniquement.

Propriétés

Propriété Description
public IDictionary Data { get; } Obtient une collection de paires clé/valeur qui fournissent des informations définies par l'utilisateur supplémentaires sur l'exception. (Hérité de System.Exception.)
public string HelpLink { get; set; } Obtient ou définit un lien vers le fichier d'aide associé à cette exception. (Hérité de System.Exception.)
public int HResult { get; protected set; } Obtient ou définit la valeur HRESULT, valeur numérique codée qui est assignée à une exception spécifique. (Hérité de System.Exception.)
public Exception InnerException { get; } Obtient l'exception à l'origine de l'exception actuelle. (Hérité de System.Exception.)
public string Message { get; } Obtient un message qui décrit l'exception active. (Hérité de TypeLoadException.)
public string Source { get; set; } Obtient ou définit le nom de l'application ou de l'objet à l'origine de l'erreur. (Hérité de System.Exception.)
public string StackTrace { get; } Obtient une représentation sous forme de chaîne des frames immédiats sur la pile des appels. (Hérité de System.Exception.)
public MethodBase TargetSite { get; } Obtient la méthode qui a levé l'exception actuelle. (Hérité de System.Exception.)
public string TypeName { get; ] Obtient le nom qualifié complet du type dont les métadonnées sont manquantes. (Hérité de TypeLoadException.)

Méthodes

Méthode Description
public bool Equals(Object obj) Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de System.Exception.)
protected void Finalize() Autorise un objet à tenter de libérer des ressources et à exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par une opération garbage collection. (Hérité de Object.)
public Exception GetBaseException() Retourne l’exception qui est la cause racine d’une ou plusieurs exceptions ultérieures. (Hérité de System.Exception.)
public int GetHashCode() Retourne un code de hachage pour une instance MissingMetadataException. (Hérité de Object.)
public void GetObjectData(SerializationInfo info, StreamingContext context) Définit un objet SerializationInfo avec des informations relatives à l'exception. (Hérité de TypeLoadException.)
public Type GetType() Obtient le type au moment de l'exécution de l'instance actuelle. (Hérité de System.Exception.)
protected Object MemberwiseClone() Crée une copie superficielle de l'objet actuel. (Hérité de Object.)
public string ToString() Retourne la représentation sous forme de chaîne de l'exception actuelle. (Hérité de System.Exception.)

Événements

Événement Description
protected event EventHandler<SafeSerializationEventArgs> SerializeObjectState Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception. (Hérité de System.Exception.)

Usage Details

L’exception MissingMetadataException est levée lorsque la réflexion est utilisée pour accéder à des métadonnées qui ne sont pas disponibles dans un assembly.

Les métadonnées qui sont disponibles pour une application au moment de l'exécution sont définies par le fichier (configuration XML) de directives runtime, *.rd.xml. Pour empêcher votre application de lever cette exception, vous devez modifier le fichier *.rd.xml de manière à définir les métadonnées qui doivent être présentes au moment de l'exécution. Pour plus d’informations sur le format du fichier *.rd.xml, consultez Informations de référence sur le fichier de configuration des directives d’exécution (rd.xml).

Important

Étant donné que cette exception indique que les métadonnées nécessaires à votre application ne sont pas disponibles au moment de l’exécution, vous ne devez pas gérer cette exception dans un try/catch bloc. Au lieu de cela, vous devez diagnostiquer la cause de l'exception et l'éliminer à l'aide d'un fichier de directives runtime. Pour obtenir l'entrée que vous pouvez ajouter à votre fichier de directives de runtime qui élimine l'exception, vous pouvez utiliser un des deux utilitaires de résolution des problèmes :

La classe MissingMetadataException ne contient pas de membres uniques ; tous ses membres sont hérités de sa classe de base, TypeAccessException.

Voir aussi