MissingManifestResourceException Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- Overname
- 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
baseNamein 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
.mresourceitems 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 ModuleU 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
GlobalResourcesheeft en u een waarde vanGlobalResources.resources(in plaats vanGlobalResources) opgeeft aan debaseNameparameter 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) |