MissingManifestResourceException Třída

Definice

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
MissingManifestResourceException
Dědičnost
MissingManifestResourceException
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 baseName ve 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 .mresource polož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 Module
    
  • Prostř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 GlobalResources a zadáte hodnotu GlobalResources.resources (místo GlobalResources) parametru baseName konstruktoru 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)

Platí pro

Viz také