Condividi tramite


Classe MissingMetadataException (.NET Native)

solo .NET per app di Windows 10, .NET Native

Eccezione generata quando la reflection viene usata per recuperare i metadati che non sono presenti.

Spazio dei nomi: System.Reflection

Importante

La MissingMetadataException è destinata esclusivamente all'uso interno da parte della catena di strumenti .NET Native. La classe non può essere usata in codice di terze parti ed è preferibile evitare di gestire l'eccezione nel codice dell'applicazione. Al contrario, eliminare l'eccezione aggiungendo le voci al file delle direttive di runtime. Per altre informazioni, vedere la sezione Osservazioni.

Sintassi

public sealed class MissingMetadataException : TypeAccessException

Si noti che la classe MissingMetadataException deriva da TypeAccessException.

La classe MissingMetadataException ha i seguenti membri:

Costruttori

Costruttore Descrizione
public MissingMetadataException() Inizializza una nuova istanza della classe MissingMetadataException usando un messaggio fornito dal sistema che descrive l'errore.

Questo costruttore è destinato a un uso interno da parte della sola catena di strumenti .NET Native.
public MissingMetadataException(String message) Inizializza una nuova istanza della classe MissingMetadataException con un messaggio di errore specificato.

Questo costruttore è destinato a un uso interno da parte della sola catena di strumenti .NET Native.

Proprietà

Proprietà Descrizione
public IDictionary Data { get; } Ottiene una raccolta di coppie chiave/valore che forniscono informazioni definite dall'utente aggiuntive sull'eccezione. Ereditato da System.Exception.
public string HelpLink { get; set; } Ottiene o imposta un collegamento al file della Guida associato all'eccezione. Ereditato da System.Exception.
public int HResult { get; protected set; } Ottiene o imposta HRESULT, un valore numerico codificato assegnato a una specifica eccezione. Ereditato da System.Exception.
public Exception InnerException { get; } Ottiene l'eccezione che ha causato l'eccezione corrente. Ereditato da System.Exception.
public string Message { get; } Ottiene un messaggio che descrive l'eccezione corrente. Ereditato da TypeLoadException.
public string Source { get; set; } Ottiene o imposta il nome dell'applicazione o dell'oggetto che ha causato l'errore. Ereditato da System.Exception.
public string StackTrace { get; } Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate. Ereditato da System.Exception.
public MethodBase TargetSite { get; } Ottiene il metodo che ha generato l'eccezione corrente. Ereditato da System.Exception.
public string TypeName { get; ] Ottiene il nome completo del tipo i cui metadati non sono presenti. Ereditato da TypeLoadException.

Metodi

metodo Descrizione
public bool Equals(Object obj) Determina se l'oggetto specificato è uguale all'oggetto corrente. Ereditato da System.Exception.
protected void Finalize() Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection. Ereditato da Object.
public Exception GetBaseException() Restituisce l'eccezione che rappresenta la causa radice di una o più eccezioni successive. Ereditato da System.Exception.
public int GetHashCode() Restituisce un codice hash per un'istanza MissingMetadataException. Ereditato da Object.
public void GetObjectData(SerializationInfo info, StreamingContext context) Imposta un oggetto SerializationInfo con le informazioni relative all'eccezione. Ereditato da TypeLoadException.
public Type GetType() Ottiene il tipo di runtime dell'istanza corrente. Ereditato da System.Exception.
protected Object MemberwiseClone() Crea una copia superficiale dell'oggetto corrente. Ereditato da Object.
public string ToString() Restituisce la rappresentazione di stringa dell'eccezione corrente. Ereditato da System.Exception.

Eventi

Evento Descrizione
protected event EventHandler<SafeSerializationEventArgs> SerializeObjectState Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione. Ereditato da System.Exception.

Dettagli sull'utilizzo

L'eccezione MissingMetadataException viene generata quando viene usata la reflection per accedere ai metadati non disponibili in un assembly.

I metadati disponibili in un'app al runtime sono definiti dal file di direttive di runtime (configurazione XML), *.rd.xml. Per impedire che l'app generi questa eccezione, devi modificare *.rd.xml per definire i metadati che devono essere presenti in fase di esecuzione. Per informazioni sul formato del file *.rd.xml, vedere Guida di riferimento ai file di configurazione delle direttive di runtime (rd.xml).

Importante

L'eccezione indica che i metadati richiesti dall'applicazione non sono disponibili in fase di esecuzione. Per questo motivo, l'eccezione non va gestita in un blocco try/catch. È invece necessario diagnosticare la causa dell'eccezione ed eliminarla usando un file di direttive di runtime. Per ottenere la voce che è possibile aggiungere al file di direttive di runtime che elimina l'eccezione, è possibile usare uno dei due strumenti di risoluzione dei problemi:

La classe MissingMetadataException non contiene membri univoci. Tutti i membri sono ereditati dalla relativa classe base, TypeAccessException.

Vedi anche