MissingManifestResourceException Klas

Definitie

De uitzondering die wordt gegenereerd als de hoofdassemblage de bronnen voor de neutrale cultuur niet bevat en een geschikte satellietassemblage ontbreekt.

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
Overname
MissingManifestResourceException
Overname
MissingManifestResourceException
Kenmerken

Opmerkingen

Er wordt een MissingManifestResourceException uitzondering gegenereerd om verschillende redenen in .NET versus UWP-apps.

.NET-apps

In .NET-apps wordt MissingManifestResourceException gegenereerd wanneer de poging om een resource op te halen mislukt omdat de resource die is ingesteld voor de neutrale cultuur niet kan worden geladen vanuit een bepaalde assembly. Hoewel de uitzondering wordt gegenereerd wanneer u een bepaalde resource probeert op te halen, wordt deze veroorzaakt door de fout bij het laden van de resourceset in plaats van de fout bij het vinden van de resource.

Note

Voor meer informatie, zie de sectie 'Handling a MissingManifestResourceException Exception' in het ResourceManager klassentopic.

De belangrijkste oorzaken van de uitzondering zijn onder andere:

  • De hulpbronnenset wordt niet geïdentificeerd met de volledig gekwalificeerde naam. Als de parameter baseName in de aanroep naar de methode ResourceManager.ResourceManager(String, Assembly) bijvoorbeeld de hoofdnaam van de resourceset zonder een naamruimte opgeeft, maar aan de resourceset een naamruimte wordt toegewezen wanneer deze wordt opgeslagen in de assembly, genereert de aanroep naar de methode ResourceManager.GetString deze uitzondering.

    Als u het .resources-bestand hebt ingesloten dat de standaardresources van de cultuur bevat in het uitvoerbare bestand en uw app een MissingManifestResourceExceptiongenereert, kunt u een weerspiegelingsprogramma gebruiken, zoals de IL Disassembler (Ildasm.exe) om de volledig gekwalificeerde naam van de resource te bepalen. Dubbelklik in ILDasm op het label MANIFEST van het uitvoerbare bestand om het venster MANIFEST te openen. Resources worden weergegeven als .mresource items en worden vermeld na externe assemblyverwijzingen en aangepaste kenmerken op assemblyniveau. U kunt ook het volgende eenvoudige hulpprogramma compileren, waarin de volledig gekwalificeerde namen van ingesloten resources in de assembly worden vermeld waarvan de naam wordt doorgegeven als een opdrachtregelparameter.

    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
    
  • U identificeert de resourceset aan de hand van de bestandsnaam (samen met de optionele naamruimte) en de bestandsextensie, in plaats van alleen via de naamruimte en de hoofd-bestandsnaam. Deze uitzondering wordt bijvoorbeeld gegenereerd als de resourceset van de neutrale cultuur de naam GlobalResources heeft en u een waarde van GlobalResources.resources (in plaats van GlobalResources) opgeeft aan de baseName parameter van de ResourceManager.ResourceManager(String, Assembly) constructor.

  • De cultuurspecifieke resourceset die wordt geïdentificeerd in een methodeaanroep, kan niet worden gevonden en de terugvalresourceset kan niet worden geladen. Als u bijvoorbeeld satellietassemblages maakt voor de cultuur Engels (Verenigde Staten) en de cultuur Russisch (Rusland), maar geen resourceset voor de neutrale cultuur opgeeft, wordt deze uitzondering opgeworpen als de huidige cultuur van uw app Engels (Verenigd Koninkrijk) is.

MissingManifestResourceException maakt gebruik van de HRESULT-COR_E_MISSINGMANIFESTRESOURCE, met de waarde 0x80131532.

MissingManifestResourceException maakt gebruik van de standaard-Equals-implementatie, die ondersteuning biedt voor gelijkheid van verwijzingen.

Voor een lijst van initiële eigenschapswaarden voor een exemplaar van MissingManifestResourceException, zie de MissingManifestResourceException-constructoren.

Note

We raden aan om een neutrale set resources op te nemen in uw hoofdassemblage, zodat uw app niet faalt als een satellietassemblage niet beschikbaar is.

Constructors

Name Description
MissingManifestResourceException()

Initialiseert een nieuw exemplaar van de MissingManifestResourceException klasse met standaardeigenschappen.

MissingManifestResourceException(SerializationInfo, StreamingContext)
Verouderd.

Initialiseert een nieuw exemplaar van de MissingManifestResourceException klasse op basis van geserialiseerde gegevens.

MissingManifestResourceException(String, Exception)

Initialiseert een nieuw exemplaar van de MissingManifestResourceException klasse met een opgegeven foutbericht en een verwijzing naar de binnenste uitzondering die de oorzaak van deze uitzondering is.

MissingManifestResourceException(String)

Initialiseert een nieuw exemplaar van de MissingManifestResourceException klasse met het opgegeven foutbericht.

Eigenschappen

Name Description
Data

Hiermee haalt u een verzameling sleutel-waardeparen op die aanvullende door de gebruiker gedefinieerde informatie over de uitzondering bieden.

(Overgenomen van Exception)
HelpLink

Hiermee haalt u een koppeling op naar het Help-bestand dat aan deze uitzondering is gekoppeld.

(Overgenomen van Exception)
HResult

Hiermee wordt HRESULT opgehaald of ingesteld, een gecodeerde numerieke waarde die is toegewezen aan een specifieke uitzondering.

(Overgenomen van Exception)
InnerException

Hiermee haalt u het Exception exemplaar op dat de huidige uitzondering heeft veroorzaakt.

(Overgenomen van Exception)
Message

Hiermee wordt een bericht weergegeven waarin de huidige uitzondering wordt beschreven.

(Overgenomen van Exception)
Source

Hiermee wordt de naam van de toepassing of het object dat de fout veroorzaakt, opgehaald of ingesteld.

(Overgenomen van Exception)
StackTrace

Hiermee haalt u een tekenreeksweergave van de directe frames op de aanroepstack op.

(Overgenomen van Exception)
TargetSite

Hiermee haalt u de methode op waarmee de huidige uitzondering wordt gegenereerd.

(Overgenomen van Exception)

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetBaseException()

Wanneer deze wordt overschreven in een afgeleide klasse, retourneert u de Exception hoofdoorzaak van een of meer volgende uitzonderingen.

(Overgenomen van Exception)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetObjectData(SerializationInfo, StreamingContext)
Verouderd.

Wanneer deze wordt overschreven in een afgeleide klasse, stelt u de SerializationInfo met informatie over de uitzondering in.

(Overgenomen van Exception)
GetType()

Hiermee haalt u het runtimetype van het huidige exemplaar op.

(Overgenomen van Exception)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Hiermee maakt en retourneert u een tekenreeksweergave van de huidige uitzondering.

(Overgenomen van Exception)

gebeurtenis

Name Description
SerializeObjectState
Verouderd.

Treedt op wanneer een uitzondering wordt geserialiseerd om een uitzonderingsstatusobject te maken dat geserialiseerde gegevens over de uitzondering bevat.

(Overgenomen van Exception)

Van toepassing op

Zie ook