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 nicht die 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
Eine MissingManifestResourceException Ausnahme wird aus unterschiedlichen Gründen in .NET- und UWP-Apps ausgelöst.
.NET-Anwendungen
In .NET Apps wird MissingManifestResourceException ausgelöst, wenn der Versuch, eine Ressource abzurufen, fehlschlägt, weil das Ressourcen Set für das neutrale Gebietsschema nicht aus einer bestimmten Assembly geladen werden konnte. Obwohl die Ausnahme ausgelöst wird, wenn Sie versuchen, eine bestimmte Ressource abzurufen, wird sie durch den Fehler beim Laden des Ressourcensatzes und nicht durch den Fehler beim Auffinden der Ressource verursacht.
Note
Weitere Informationen finden Sie im Abschnitt "Umgang mit einer MissingManifestResourceException-Ausnahme" im Thema der ResourceManager-Klasse.
Die Hauptursachen der Ausnahme sind:
Das Ressourcenset wird nicht durch seinen voll qualifizierten Namen identifiziert. Wenn beispielsweise der
baseNameParameter im Aufruf der ResourceManager.ResourceManager(String, Assembly) Methode den Stammnamen des Ressourcensatzes ohne Namespace angibt, dem Ressourcensatz jedoch ein Namespace zugewiesen wird, wenn er in der Assembly gespeichert ist, löst der Aufruf der ResourceManager.GetString Methode diese Ausnahme aus.Wenn Sie die .resources-Datei, die die Ressourcen des Standard-Gebietsschemas enthält, in Ihre ausführbare Datei eingebettet haben und Ihre App ein MissingManifestResourceException auslöst, können Sie ein Reflection Tool wie z. B. den IL Disassembler (Ildasm.exe) verwenden, um den vollqualifizierten 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
.mresourceElemente angezeigt und nach externen Assemblyverweisen und benutzerdefinierten Attributen auf Assemblyebene aufgelistet. Sie können auch das folgende einfache Hilfsprogramm kompilieren, das die vollqualifizierten Namen eingebetteter Ressourcen in der Assembly auflistet, deren Name als Befehlszeilenparameter an sie ü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 den Ressourcensatz über seinen Ressourcendateinamen (zusammen mit dem optionalen Namespace) und die Dateierweiterung, anstatt allein durch den Namespace und den Stammdateinamen. Diese Ausnahme wird beispielsweise ausgelöst, wenn der Ressourcensatz der neutralen Kultur benannt
GlobalResourcesist und Sie einen Wert vonGlobalResources.resources(anstelle vonGlobalResources) für denbaseNameParameter des ResourceManager.ResourceManager(String, Assembly) Konstruktors angeben.Der kulturspezifische Ressourcensatz, der in einem Methodenaufruf identifiziert wird, kann nicht gefunden werden, und der Fallbackressourcensatz kann nicht geladen werden. Wenn Sie beispielsweise Satellitenassemblys für die Kulturen Englisch (USA) und Russland (Russisch) erstellen, aber keine Ressourcen für die neutrale Kultur bereitstellen, wird diese Ausnahme ausgelöst, wenn die aktuelle Kultur Ihrer App Englisch (Vereinigtes Königreich) 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.
Note
Es wird empfohlen, eine neutrale Gruppe von Ressourcen in die Hauptassembly aufzunehmen, sodass ihre App nicht fehlschlägt, wenn eine Satellitenassembly nicht verfügbar ist.
Konstruktoren
| Name | Beschreibung |
|---|---|
| MissingManifestResourceException() |
Initialisiert eine neue Instanz der MissingManifestResourceException Klasse mit Standardeigenschaften. |
| MissingManifestResourceException(SerializationInfo, StreamingContext) |
Veraltet.
Initialisiert eine neue Instanz der MissingManifestResourceException Klasse aus serialisierten Daten. |
| MissingManifestResourceException(String, Exception) |
Initialisiert eine neue Instanz der MissingManifestResourceException Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die die Ursache dieser Ausnahme ist. |
| MissingManifestResourceException(String) |
Initialisiert eine neue Instanz der MissingManifestResourceException Klasse mit der angegebenen Fehlermeldung. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Data |
Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen. (Geerbt von Exception) |
| HelpLink |
Dient zum Abrufen oder Festlegen eines Links zur Hilfedatei, die dieser Ausnahme zugeordnet ist. (Geerbt von Exception) |
| HResult |
Dient zum Abrufen oder Festlegen von HRESULT, einem codierten numerischen Wert, der einer bestimmten Ausnahme zugewiesen ist. (Geerbt von Exception) |
| InnerException |
Ruft die Exception Instanz ab, die die aktuelle Ausnahme verursacht hat. (Geerbt von Exception) |
| Message |
Ruft eine Nachricht ab, die die aktuelle Ausnahme beschreibt. (Geerbt von Exception) |
| Source |
Dient zum Abrufen oder Festlegen des Namens der Anwendung oder des Objekts, das den Fehler verursacht. (Geerbt von Exception) |
| StackTrace |
Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames im Aufrufstapel ab. (Geerbt von Exception) |
| TargetSite |
Ruft die Methode ab, die die aktuelle Ausnahme auslöst. (Geerbt von Exception) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetBaseException() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Exception Ursache einer oder mehrerer nachfolgenden Ausnahmen zurückgegeben. (Geerbt von Exception) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Veraltet.
Wenn sie in einer abgeleiteten Klasse überschrieben wird, werden die SerializationInfo Informationen zur Ausnahme festgelegt. (Geerbt von Exception) |
| GetType() |
Ruft den Laufzeittyp der aktuellen Instanz ab. (Geerbt von Exception) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Erstellt und gibt eine Zeichenfolgendarstellung der aktuellen Ausnahme zurück. (Geerbt von Exception) |
Ereignisse
| Name | Beschreibung |
|---|---|
| SerializeObjectState |
Veraltet.
Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmestatusobjekt zu erstellen, das serialisierte Daten zu der Ausnahme enthält. (Geerbt von Exception) |