MissingManifestResourceException Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Výjimka, která se vyvolá, pokud hlavní sestavení neobsahuje prostředky pro neutrální jazykovou verzi a chybí odpovídající satelitní sestavení.
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
- Dědičnost
- Dědičnost
- Atributy
Poznámky
MissingManifestResourceException výjimka se vyvolá z různých příčin v .NET a UWP aplikacích.
Aplikace .NET
V aplikacích .NET se MissingManifestResourceException vyvolá, když se pokus o načtení prostředku nezdaří, protože sadu prostředků pro neutrální jazykovou verzi nebylo možné načíst z konkrétního sestavení. I když je výjimka vyvolána při pokusu o načtení konkrétního prostředku, příčinou je selhání načtení sady prostředků, nikoli selhání nalezení prostředku.
Note
Další informace najdete v části Zpracování výjimky MissingManifestResourceException v tématu třídy ResourceManager.
Mezi hlavní příčiny výjimky patří:
Sada prostředků není identifikovaná plně kvalifikovaným názvem. Pokud například parametr
baseNameve volání metody ResourceManager.ResourceManager(String, Assembly) určuje kořenový název sady prostředků bez oboru názvů, ale sadě prostředků je přiřazen obor názvů, když je uložena ve svém sestavení, volání metody ResourceManager.GetString vyvolá tuto výjimku.Pokud jste do svého spustitelného souboru vložili soubor .resources, který obsahuje prostředky výchozí kultury, můžete využít nástroj odrazu, jako je MissingManifestResourceException, k určení plně kvalifikovaného názvu prostředku, když aplikace vyvolá . V ILDasm poklikejte na popisek MANIFEST spustitelného souboru k otevření okna MANIFEST. Prostředky se zobrazují jako
.mresourcepoložky a jsou uvedeny za odkazy na externí sestavení a vlastní atributy na úrovni sestavení. Můžete také zkompilovat následující jednoduchý nástroj, který vypíše plně kvalifikované názvy vložených prostředků v sestavení, jehož název je předán jako parametr příkazového řádku.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 ModuleProstředek identifikujete podle názvu souboru prostředků (spolu s jeho případným oborem názvů) a jeho příponou souboru, nikoli pouze podle jeho oboru názvů a názvu kořenového souboru. Tato výjimka se například vyvolá, pokud je sada prostředků neutrální jazykové verze pojmenována
GlobalResourcesa zadáte hodnotuGlobalResources.resources(místoGlobalResources) parametrubaseNamekonstruktoru ResourceManager.ResourceManager(String, Assembly).Nelze najít sadu prostředků specifickou pro jazykovou verzi, která je identifikována voláním metody a nelze načíst záložní sadu prostředků. Pokud například vytváříte satelitní sestavení pro jazykové verze angličtiny (USA) a Ruska (ruština), ale nemůžete poskytnout sadu prostředků pro neutrální jazykovou verzi, vyvolá se tato výjimka, pokud je aktuální jazyková verze vaší aplikace angličtina (Spojené království).
MissingManifestResourceException používá COR_E_MISSINGMANIFESTRESOURCEHRESULT, který má hodnotu 0x80131532.
MissingManifestResourceException používá výchozí implementaci Equals, která podporuje rovnost odkazů.
Seznam počátečních hodnot vlastností pro instanci MissingManifestResourceExceptionnaleznete v konstruktoru MissingManifestResourceException.
Note
Doporučujeme do hlavního sestavení zahrnout neutrální sadu prostředků, takže pokud není k dispozici satelitní sestavení, nebude aplikace neúspěšná.
Konstruktory
| Name | Description |
|---|---|
| MissingManifestResourceException() |
Inicializuje novou instanci MissingManifestResourceException třídy s výchozími vlastnostmi. |
| MissingManifestResourceException(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci MissingManifestResourceException třídy ze serializovaných dat. |
| MissingManifestResourceException(String, Exception) |
Inicializuje novou instanci MissingManifestResourceException třídy se zadanou chybovou zprávou a odkazem na vnitřní výjimku, která je příčinou této výjimky. |
| MissingManifestResourceException(String) |
Inicializuje novou instanci MissingManifestResourceException třídy se zadanou chybovou zprávou. |
Vlastnosti
| Name | Description |
|---|---|
| Data |
Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce. (Zděděno od Exception) |
| HelpLink |
Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce. (Zděděno od Exception) |
| HResult |
Získá nebo nastaví HRESULT, kódovanou číselnou hodnotu, která je přiřazena ke konkrétní výjimce. (Zděděno od Exception) |
| InnerException |
Exception Získá instanci, která způsobila aktuální výjimku. (Zděděno od Exception) |
| Message |
Získá zprávu, která popisuje aktuální výjimku. (Zděděno od Exception) |
| Source |
Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu. (Zděděno od Exception) |
| StackTrace |
Získá řetězcové znázornění okamžitých rámců v zásobníku volání. (Zděděno od Exception) |
| TargetSite |
Získá metodu, která vyvolá aktuální výjimku. (Zděděno od Exception) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetBaseException() |
Při přepsání v odvozené třídě vrátí Exception to, že je původní příčinou jedné nebo více následných výjimek. (Zděděno od Exception) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Při přepsání v odvozené třídě nastaví SerializationInfo s informacemi o výjimce. (Zděděno od Exception) |
| GetType() |
Získá typ modulu runtime aktuální instance. (Zděděno od Exception) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky. (Zděděno od Exception) |
Událost
| Name | Description |
|---|---|
| SerializeObjectState |
Zastaralé.
Nastane, když je výjimka serializována vytvořit objekt stavu výjimky, který obsahuje serializovaná data o výjimce. (Zděděno od Exception) |