MissingManifestResourceException Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Eccezione generata se l'assembly principale non contiene le risorse per le impostazioni cultura neutre e manca un assembly satellite appropriato.
public ref class MissingManifestResourceException : Exception
public ref class MissingManifestResourceException : SystemException
public class MissingManifestResourceException : Exception
public class MissingManifestResourceException : SystemException
[System.Serializable]
public class MissingManifestResourceException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class MissingManifestResourceException : SystemException
type MissingManifestResourceException = class
inherit Exception
type MissingManifestResourceException = class
inherit SystemException
[<System.Serializable>]
type MissingManifestResourceException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MissingManifestResourceException = class
inherit SystemException
Public Class MissingManifestResourceException
Inherits Exception
Public Class MissingManifestResourceException
Inherits SystemException
- Ereditarietà
- Ereditarietà
- Attributi
Commenti
Viene generata un'eccezione MissingManifestResourceException per motivi diversi in .NET rispetto alle app UWP.
App .NET
Nelle app .NET, MissingManifestResourceException viene generato quando il tentativo di recuperare una risorsa non riesce perché non si è riusciti a caricare il set di risorse per la cultura neutra da un assembly specifico. Anche se l'eccezione viene generata quando si tenta di recuperare una determinata risorsa, è causato dall'errore di caricare il set di risorse anziché dall'errore di trovare la risorsa.
Note
Per ulteriori informazioni, consultare la sezione intitolata "Gestione di un'eccezione MissingManifestResourceException" nel tema della classe ResourceManager.
Le cause principali dell'eccezione includono quanto segue:
Il set di risorse non è identificato dal nome completo. Ad esempio, se il parametro
baseNamenella chiamata al metodo ResourceManager.ResourceManager(String, Assembly) specifica il nome radice del set di risorse senza uno spazio dei nomi, ma al set di risorse viene assegnato uno spazio dei nomi quando viene archiviato nell'assembly, la chiamata al metodo ResourceManager.GetString genera questa eccezione.Se hai incorporato il file con estensione .resources, che contiene le risorse della cultura predefinita, nel tuo eseguibile e la tua app genera un MissingManifestResourceException, è possibile utilizzare uno strumento di reflection, come ad esempio il Disassembler IL (Ildasm.exe), per determinare il nome completo della risorsa. In ILDasm, fai doppio clic sull'etichetta eseguibile MANIFEST per aprire la finestra MANIFEST. Le risorse vengono visualizzate come elementi
.mresourcee vengono elencate dopo i riferimenti all'assembly esterno e gli attributi a livello di assembly personalizzati. È anche possibile compilare l'utilità semplice seguente, che elenca i nomi completi delle risorse incorporate nell'assembly il cui nome viene passato come parametro della riga di comando.using System; using System.IO; using System.Reflection; using System.Resources; public class Example { public static void Main() { if (Environment.GetCommandLineArgs().Length == 1) { Console.WriteLine("No filename."); return; } string filename = Environment.GetCommandLineArgs()[1].Trim(); // Check whether the file exists. if (!File.Exists(filename)) { Console.WriteLine("{0} does not exist.", filename); return; } // Try to load the assembly. Assembly assem = Assembly.LoadFrom(filename); Console.WriteLine("File: {0}", filename); // Enumerate the resource files. string[] resNames = assem.GetManifestResourceNames(); if (resNames.Length == 0) Console.WriteLine(" No resources found."); foreach (var resName in resNames) Console.WriteLine(" Resource: {0}", resName.Replace(".resources", "")); Console.WriteLine(); } }Imports System.IO Imports System.Reflection Imports System.Resources Module Example Public Sub Main() If Environment.GetCommandLineArgs.Length = 1 Then Console.WriteLine("No filename.") Exit Sub End If Dim filename As String = Environment.GetCommandLineArgs(1).Trim() ' Check whether the file exists. If Not File.Exists(filename) Then Console.WriteLine("{0} does not exist.", filename) Exit Sub End If ' Try to load the assembly. Dim assem As Assembly = Assembly.LoadFrom(filename) Console.WriteLine("File: {0}", filename) ' Enumerate the resource files. Dim resNames() As String = assem.GetManifestResourceNames() If resNames.Length = 0 Then Console.WriteLine(" No resources found.") End If For Each resName In resNames Console.WriteLine(" Resource: {0}", resName.Replace(".resources", "")) Next Console.WriteLine() End Sub End ModuleÈ possibile identificare il set di risorse in base al nome del file di risorse (insieme allo spazio dei nomi facoltativo) e all'estensione del file anziché in base allo spazio dei nomi e al nome del file radice. Ad esempio, questa eccezione viene generata se il set di risorse della cultura neutra è denominato
GlobalResourcese si specifica un valore diGlobalResources.resourcesinvece diGlobalResourcesnel parametrobaseNamedel costruttore ResourceManager.ResourceManager(String, Assembly).Non è possibile trovare il set di risorse specifico della cultura identificato tramite una chiamata di metodo e non si può caricare il set di risorse di fallback. Ad esempio, se crei assembly satellite per le culture inglese (Stati Uniti) e russo (Russia), ma non fornisci un set di risorse per la cultura neutra, questa eccezione viene generata se la cultura corrente dell'app è inglese (Regno Unito).
L'HRESULT MissingManifestResourceExceptionviene utilizzato da COR_E_MISSINGMANIFESTRESOURCE e ha il valore 0x80131532.
MissingManifestResourceException usa l'implementazione di Equals predefinita, che supporta l'uguaglianza dei riferimenti.
Per un elenco dei valori iniziali delle proprietà per un'istanza di MissingManifestResourceException, consultare i costruttori di MissingManifestResourceException.
Note
Ti consigliamo di includere un set neutro di risorse nell'assembly principale, quindi l'app non avrà esito negativo se un assembly satellite non è disponibile.
Costruttori
| Nome | Descrizione |
|---|---|
| MissingManifestResourceException() |
Inizializza una nuova istanza della MissingManifestResourceException classe con le proprietà predefinite. |
| MissingManifestResourceException(SerializationInfo, StreamingContext) |
Obsoleti.
Inizializza una nuova istanza della classe MissingManifestResourceException dai dati serializzati. |
| MissingManifestResourceException(String, Exception) |
Inizializza una nuova istanza della MissingManifestResourceException classe con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa di questa eccezione. |
| MissingManifestResourceException(String) |
Inizializza una nuova istanza della MissingManifestResourceException classe con il messaggio di errore specificato. |
Proprietà
| Nome | Descrizione |
|---|---|
| Data |
Ottiene una raccolta di coppie chiave/valore che forniscono informazioni aggiuntive definite dall'utente sull'eccezione. (Ereditato da Exception) |
| HelpLink |
Ottiene o imposta un collegamento al file della Guida associato a questa eccezione. (Ereditato da Exception) |
| HResult |
Ottiene o imposta HRESULT, valore numerico codificato assegnato a un'eccezione specifica. (Ereditato da Exception) |
| InnerException |
Ottiene l'istanza Exception che ha causato l'eccezione corrente. (Ereditato da Exception) |
| Message |
Ottiene un messaggio che descrive l'eccezione corrente. (Ereditato da Exception) |
| Source |
Ottiene o imposta il nome dell'applicazione o dell'oggetto che causa l'errore. (Ereditato da Exception) |
| StackTrace |
Ottiene una rappresentazione di stringa dei fotogrammi immediati nello stack di chiamate. (Ereditato da Exception) |
| TargetSite |
Ottiene il metodo che genera l'eccezione corrente. (Ereditato da Exception) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetBaseException() |
Quando sottoposto a override in una classe derivata, restituisce l'oggetto Exception che rappresenta la causa radice di una o più eccezioni successive. (Ereditato da Exception) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Obsoleti.
In caso di override in una classe derivata, imposta con le SerializationInfo informazioni sull'eccezione. (Ereditato da Exception) |
| GetType() |
Ottiene il tipo di runtime dell'istanza corrente. (Ereditato da Exception) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Crea e restituisce una rappresentazione di stringa dell'eccezione corrente. (Ereditato da Exception) |
Eventi
| Nome | Descrizione |
|---|---|
| SerializeObjectState |
Obsoleti.
Si verifica quando viene serializzata un'eccezione per creare un oggetto stato dell'eccezione contenente dati serializzati sull'eccezione. (Ereditato da Exception) |