MissingManifestResourceException Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die Ausnahme, die ausgelöst wird, wenn die Hauptassembly keine Ressourcen für die neutrale Kultur enthält, und eine entsprechende Satellitenassembly fehlt.
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
- Vererbung
- Vererbung
- Attribute
Hinweise
.NET-Apps
In .NET Framework- und .NET Core-Apps wird ausgelöst, wenn der Versuch, eine Ressource abzurufen, fehlschlägt, MissingManifestResourceException da die Ressource für die neutrale Kultur nicht aus einer bestimmten Assembly geladen werden konnte. Obwohl die Ausnahme ausgelöst wird, wenn Sie versuchen, eine bestimmte Ressource abzurufen, wird es durch den Fehler beim Laden der Ressource verursacht, anstatt den Fehler, die Ressource zu finden.
Hinweis
Weitere Informationen finden Sie im Abschnitt "Handling a MissingManifestResourceException Exception" im ResourceManager Kursthema.
Die Hauptursachen der Ausnahme umfassen folgendes:
Der Ressourcensatz wird nicht durch seinen vollqualifizierten Namen identifiziert. Wenn der
baseNameParameter im Aufruf der Methode beispielsweise den Stammnamen des ResourceManager.ResourceManager(String, Assembly) Ressourcensatzes ohne Namespace angibt, aber der Ressourcensatz einem Namespace zugewiesen wird, wenn er in seiner Assembly gespeichert wird, löst der Aufruf ResourceManager.GetString der Methode diese Ausnahme aus.Wenn Sie die Ressourcendatei ".resources" eingebettet haben, die die Ressourcen der Standardkultur in Ihrer ausführbaren Datei enthält, und Ihre App MissingManifestResourceExceptioneine Spiegelungstools wie das IL-Disassembler (Ildasm.exe) verwenden können, um den vollständig qualifizierten Namen der Ressource zu ermitteln. Doppelklicken Sie in ILDasm auf die MANIFEST-Bezeichnung der ausführbaren Datei, um das MANIFEST-Fenster zu öffnen. Ressourcen werden als Elemente angezeigt und werden nach
.mresourceexternen Assemblybezügen und benutzerdefinierten Assemblyebenenattributen aufgelistet. Sie können auch das folgende einfache Hilfsprogramm kompilieren, das die vollqualifizierten Namen von eingebetteten Ressourcen in der Assembly enthält, deren Name als Befehlszeilenparameter übergeben wird.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 ModuleSie identifizieren die Ressource, die durch seinen Ressourcendateinamen (zusammen mit seinem optionalen Namespace) und seine Dateierweiterung statt durch den Namespace und den Stammdateinamen allein festgelegt wurde. Diese Ausnahme wird beispielsweise ausgelöst, wenn der Ressourcensatz der neutralen Kultur benannt
GlobalResourceswird und Sie einen WertGlobalResources.resources(anstelleGlobalResourcesvon ) dembaseNameParameter des ResourceManager.ResourceManager(String, Assembly) Konstruktors angeben.Der kulturspezifische Ressourcensatz, der in einem Methodenaufruf identifiziert wird, kann nicht gefunden werden, und der Fallbackressourcesatz kann nicht geladen werden. Wenn Sie beispielsweise Satellitenassemblys für die englischen (USA) und Russland (Russisch) -Kulturen erstellen, aber Sie können keine Ressource für die neutrale Kultur bereitstellen, wird diese Ausnahme ausgelöst, wenn die aktuelle Kultur Ihrer App Englisch (Großbritannien) ist.
MissingManifestResourceException verwendet das HRESULT-COR_E_MISSINGMANIFESTRESOURCE, das den Wert 0x80131532 hat.
MissingManifestResourceException verwendet die Standardimplementierung Equals , die die Referenzgleichheit unterstützt.
Eine Liste der anfänglichen Eigenschaftswerte für eine Instanz von MissingManifestResourceException, finden Sie unter den MissingManifestResourceException Konstruktoren.
Hinweis
Es wird empfohlen, eine neutrale Gruppe von Ressourcen in Ihrer Hauptassembly aufzunehmen, sodass Ihre App nicht fehlschlägt, wenn eine Satellitenassembly nicht verfügbar ist.
Universelle Windows-Plattform-Apps (UWP)
UWP-Apps stellen Ressourcen für mehrere Kulturen bereit, einschließlich der neutralen Kultur, in einer einzelnen Paketressourcenindexdatei (PRI). Daher wird in einer UWP-App, wenn Ressourcen für die bevorzugte Kultur nicht gefunden werden können, unter MissingManifestResourceException einer der folgenden Bedingungen ausgelöst:
Die App enthält keine PRI-Datei, oder die PRI-Datei konnte nicht geöffnet werden.
Die PRI-Datei der App enthält keine Ressource für den angegebenen Stammnamen.
Konstruktoren
| MissingManifestResourceException() |
Initialisiert eine neue Instanz der MissingManifestResourceException-Klasse mit Standardeigenschaften. |
| MissingManifestResourceException(SerializationInfo, StreamingContext) |
Initialisiert anhand von serialisierten Daten eine neue Instanz der MissingManifestResourceException-Klasse. |
| MissingManifestResourceException(String) |
Initialisiert eine neue Instanz der MissingManifestResourceException-Klasse mit der angegebenen Fehlermeldung. |
| MissingManifestResourceException(String, Exception) |
Initialisiert eine neue Instanz der MissingManifestResourceException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat. |
Eigenschaften
| Data |
Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen. (Geerbt von Exception) |
| HelpLink |
Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest. (Geerbt von Exception) |
| HResult |
Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist. (Geerbt von Exception) |
| InnerException |
Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat. (Geerbt von Exception) |
| Message |
Ruft eine Meldung ab, mit der die aktuelle Ausnahme beschrieben wird. (Geerbt von Exception) |
| Source |
Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest. (Geerbt von Exception) |
| StackTrace |
Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab. (Geerbt von Exception) |
| TargetSite |
Ruft die Methode ab, die die aktuelle Ausnahme auslöst. (Geerbt von Exception) |
Methoden
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetBaseException() |
Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist. (Geerbt von Exception) |
| GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest. (Geerbt von Exception) |
| GetType() |
Ruft den Laufzeittyp der aktuellen Instanz ab. (Geerbt von Exception) |
| MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
| ToString() |
Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück. (Geerbt von Exception) |
Ereignisse
| SerializeObjectState |
Veraltet.
Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen. (Geerbt von Exception) |