Classe MissingRuntimeArtifactException (.NET Native)

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

L'eccezione generata quando i metadati per un tipo o un membro del tipo sono disponibili ma ne è stata rimossa l'implementazione.

Spazio dei nomi: System.Reflection

Importante

La MissingRuntimeArtifactException è 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

internal sealed class MissingRuntimeArtifactException : MemberAccessException

Si noti che la classe MissingRuntimeArtifactException deriva da MemberAccessException.

La classe MissingRuntimeArtifactException ha i seguenti membri:

Costruttori

Costruttore Descrizione
public MissingRuntimeArtifactException() Inizializza una nuova istanza della classe MissingRuntimeArtifactException 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 MissingRuntimeArtifactException(String message) Inizializza una nuova istanza della classe MissingRuntimeArtifactException 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 System.Exception.
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.

Metodi

metodo Descrizione
public bool Equals(Object obj) Determina se l'oggetto specificato è uguale all'oggetto corrente. Ereditato da Object.
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 MissingRuntimeArtifactException. Ereditato da Object.
public void GetObjectData(SerializationInfo info, StreamingContext context) Imposta un oggetto SerializationInfo con le informazioni relative all'eccezione. Ereditato da System.Exception.
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

Event 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 MissingRuntimeArtifactException viene generata quando si tenta di creare un'istanza di un tipo o di richiamare un membro del tipo la cui implementazione sia stata rimossa, sebbene i metadati del tipo o del membro siano presenti.

Il fatto che i metadati e il codice di implementazione per eseguire dinamicamente un metodo siano disponibili per un'app in fase di esecuzione è definito dal file delle direttive di runtime (configurazione XML), *.rd.xml. Per evitare che l'app generi questa eccezione, è necessario modificare il file *.rd.xml per assicurarsi che i metadati necessari a un tipo o a un membro del tipo siano presenti in fase di runtime. 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 il codice di implementazione richiesto dall'applicazione non è disponibile in fase di runtime. 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. In genere, si elimina questa eccezione specificando i criteri appropriati Activate o Dynamic per un elemento programma nel file delle direttive di runtime (*.rd.xml file). 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 MissingRuntimeArtifactException non contiene membri univoci. Tutti i membri sono ereditati dalla relativa classe base, MemberAccessException.

Vedi anche