MissingManifestResourceException Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az a kivétel, amely akkor fordul elő, ha a főszerelvény nem tartalmazza a semleges kultúra erőforrásait, és hiányzik egy megfelelő műholdas szerelvény.
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
- Öröklődés
- Öröklődés
- Attribútumok
Megjegyzések
A MissingManifestResourceException kivételt dobhatnak különböző okokból a .NET- és UWP-alkalmazások.
.NET-alkalmazások
A .NET-alkalmazásokban az erőforrás lekérésének kísérlete meghiúsul, MissingManifestResourceException mert a semleges kultúra erőforráskészlete nem tölthető be egy adott szerelvényből. Bár a kivétel akkor fordul elő, amikor megpróbál egy adott erőforrást lekérni, a hibát az okozza, hogy nem az erőforrást, hanem az erőforráskészletet nem sikerült betölteni.
Note
A további információkért lásd a "ResourceManager osztály témakörében a "MissingManifestResourceException kivétel kezelése" szakaszt.
A kivétel fő okai a következők:
Az erőforráskészletet nem a teljesen kvalifikált neve azonosítja. Ha például a
baseNamemetódus hívásában ResourceManager.ResourceManager(String, Assembly) szereplő paraméter névtér nélkül adja meg az erőforráskészlet gyökérnevét, de az erőforráskészlethez névtér van rendelve, amikor az a szerelvényben van tárolva, a metódus hívása ezt a ResourceManager.GetString kivételt okozza.Ha beágyazta az alapértelmezett kultúra erőforrásait tartalmazó .resources fájlt a végrehajtható fájlba, és az alkalmazás dob egy elemet MissingManifestResourceException, használhat egy tükrözési eszközt, például az IL-szétszerelőt (Ildasm.exe) az erőforrás teljes nevének meghatározásához. Az ILDasm alkalmazásban kattintson duplán a végrehajtható JEGYZÉK címkére a JEGYZÉK ablak megnyitásához. Az erőforrások elemekként
.mresourcejelennek meg, és külső szerelvényhivatkozások és egyéni szerelvényszintű attribútumok után jelennek meg. A következő egyszerű segédprogramot is lefordíthatja, amely felsorolja azoknak a beágyazott erőforrásoknak a teljes nevét a szerelvényben, amelyeknek a neve parancssori paraméterként van átadva.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 ModuleAz erőforrást az erőforrásfájl neve (az opcionális névtérrel együtt) és a fájlkiterjesztése alapján azonosítja, nem pedig a névtér és a gyökérfájl neve alapján. Például ez a kivétel akkor jelentkezik, ha a semleges kultúra erőforráskészlete
GlobalResourcesnéven van elnevezve, és aGlobalResources.resourceskonstruktorGlobalResourcesparaméterénekbaseName(a ResourceManager.ResourceManager(String, Assembly) helyett) értéket ad meg.A metódushívásban azonosított kultúraspecifikus erőforráskészlet nem található, és a tartalék erőforráskészlet nem tölthető be. Ha például műhold-összeállításokat hoz létre az angol (Egyesült Államok) és az orosz kultúrákhoz, de nem biztosít erőforráskészletet a semleges kultúrához, ez a kivétel akkor jelentkezik, ha az alkalmazás jelenlegi kultúrája angol (Egyesült Királyság).
MissingManifestResourceException A HRESULT COR_E_MISSINGMANIFESTRESOURCEfüggvényt használja, amelynek értéke 0x80131532.
MissingManifestResourceException az alapértelmezett Equals implementációt használja, amely támogatja a referencia-egyenlőséget.
A MissingManifestResourceException példány kezdeti tulajdonságainak listájáért tekintse meg a MissingManifestResourceException konstruktorokat.
Note
Javasoljuk, hogy egy semleges erőforráskészletet foglaljon bele a főszerelvénybe, így az alkalmazás nem fog meghibásodni, ha egy műholdas szerelvény nem érhető el.
Konstruktorok
| Name | Description |
|---|---|
| MissingManifestResourceException() |
Inicializálja az osztály új példányát MissingManifestResourceException alapértelmezett tulajdonságokkal. |
| MissingManifestResourceException(SerializationInfo, StreamingContext) |
Elavult.
Inicializálja az osztály új példányát szerializált MissingManifestResourceException adatokból. |
| MissingManifestResourceException(String, Exception) |
Inicializálja az MissingManifestResourceException osztály új példányát egy megadott hibaüzenettel és a kivétel okaként szolgáló belső kivételre mutató hivatkozással. |
| MissingManifestResourceException(String) |
Inicializálja az osztály új példányát MissingManifestResourceException a megadott hibaüzenettel. |
Tulajdonságok
| Name | Description |
|---|---|
| Data |
Lekéri a kulcs-/érték párok gyűjteményét, amelyek további, felhasználó által definiált információkat biztosítanak a kivételről. (Öröklődés forrása Exception) |
| HelpLink |
Lekéri vagy beállítja a kivételhez társított súgófájlra mutató hivatkozást. (Öröklődés forrása Exception) |
| HResult |
Lekéri vagy beállítja a HRESULT-ot, egy kódolt numerikus értéket, amely egy adott kivételhez van hozzárendelve. (Öröklődés forrása Exception) |
| InnerException |
Lekéri az Exception aktuális kivételt okozó példányt. (Öröklődés forrása Exception) |
| Message |
Az aktuális kivételt leíró üzenet jelenik meg. (Öröklődés forrása Exception) |
| Source |
Lekéri vagy beállítja az alkalmazás vagy a hibát okozó objektum nevét. (Öröklődés forrása Exception) |
| StackTrace |
Lekéri a hívásverem közvetlen kereteinek sztringképét. (Öröklődés forrása Exception) |
| TargetSite |
Lekéri az aktuális kivételt okozó metódust. (Öröklődés forrása Exception) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetBaseException() |
Ha egy származtatott osztály felül van bírálva, egy Exception vagy több későbbi kivétel kiváltó okát adja vissza. (Öröklődés forrása Exception) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Elavult.
Ha felül van bírálva egy származtatott osztályban, a SerializationInfo kivétel adatait adja meg. (Öröklődés forrása Exception) |
| GetType() |
Lekéri az aktuális példány futtatókörnyezeti típusát. (Öröklődés forrása Exception) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Létrehozza és visszaadja az aktuális kivétel sztring-ábrázolását. (Öröklődés forrása Exception) |
esemény
| Name | Description |
|---|---|
| SerializeObjectState |
Elavult.
Akkor fordul elő, ha a kivétel szerializálva van egy kivételállapot-objektum létrehozásához, amely szerializált adatokat tartalmaz a kivételről. (Öröklődés forrása Exception) |