MissingManifestResourceException Clase

Definición

Excepción que se produce si el ensamblado principal no contiene los recursos de la referencia cultural neutral y falta un ensamblado satélite adecuado.

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
Herencia
MissingManifestResourceException
Herencia
MissingManifestResourceException
Atributos

Comentarios

Se produce una excepción de MissingManifestResourceException por diferentes motivos en .NET comparado con aplicaciones UWP.

Aplicaciones .NET

En las aplicaciones .NET, se lanza MissingManifestResourceException cuando se intenta recuperar un recurso pero falla, porque no se pudo cargar el conjunto de recursos para la cultura neutral desde un ensamblado determinado. Aunque se produce la excepción al intentar recuperar un recurso determinado, se debe al error al cargar el conjunto de recursos en lugar del error para encontrar el recurso.

Note

Para obtener más información, vea la sección "Manejo de una excepción MissingManifestResourceException" en el tema de la clase ResourceManager.

Las principales causas de la excepción son las siguientes:

  • El conjunto de recursos no se identifica mediante su nombre completo. Por ejemplo, si el baseName parámetro de la llamada al ResourceManager.ResourceManager(String, Assembly) método especifica el nombre raíz del conjunto de recursos sin un espacio de nombres, pero al conjunto de recursos se le asigna un espacio de nombres cuando se almacena en su ensamblado, la llamada al ResourceManager.GetString método produce esta excepción.

    Si ha incrustado el archivo .resources que contiene los recursos de la cultura predeterminada en el archivo ejecutable y la aplicación lanza un MissingManifestResourceException, puede usar una herramienta de reflexión como el desensamblador de IL (Ildasm.exe) para determinar el nombre completamente calificado del recurso. En ILDasm, haga doble clic en la etiqueta MANIFEST del ejecutable para abrir la ventana MANIFEST . Los recursos aparecen como .mresource elementos y se muestran después de las referencias de ensamblado externas y los atributos de nivel de ensamblado personalizados. También puede compilar la siguiente utilidad simple, que enumera los nombres completos de los recursos incrustados en el ensamblado cuyo nombre se le pasa como parámetro de línea de comandos.

    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
    
  • Se identifica el conjunto de recursos por su nombre de archivo de recursos (junto con su espacio de nombres opcional) y su extensión de archivo en lugar de solo por su espacio de nombres y nombre de archivo raíz. Por ejemplo, esta excepción se lanza cuando el conjunto de recursos de la referencia cultural neutral se llama GlobalResources y se proporciona un valor de GlobalResources.resources (en lugar de GlobalResources) al parámetro baseName del constructor ResourceManager.ResourceManager(String, Assembly).

  • No se puede encontrar el conjunto de recursos específico de la cultura identificado durante una llamada de método, y no se pueden cargar los recursos alternativos. Por ejemplo, si crea ensamblados satélite para las culturas inglés (Estados Unidos) y ruso (Rusia), pero no proporciona un conjunto de recursos para la cultura neutral, se lanza esta excepción si la cultura actual de la aplicación es inglés (Reino Unido).

MissingManifestResourceException usa HRESULT COR_E_MISSINGMANIFESTRESOURCE, que tiene el valor 0x80131532.

MissingManifestResourceException usa la implementación predeterminada Equals , que admite la igualdad de referencias.

Para obtener una lista de valores de propiedad iniciales para una instancia de MissingManifestResourceException, vea los MissingManifestResourceException constructores.

Note

Se recomienda incluir un conjunto neutro de recursos en el ensamblado principal, por lo que la aplicación no producirá un error si un ensamblado satélite no está disponible.

Constructores

Nombre Description
MissingManifestResourceException()

Inicializa una nueva instancia de la MissingManifestResourceException clase con propiedades predeterminadas.

MissingManifestResourceException(SerializationInfo, StreamingContext)
Obsoletos.

Inicializa una nueva instancia de la MissingManifestResourceException clase a partir de datos serializados.

MissingManifestResourceException(String, Exception)

Inicializa una nueva instancia de la MissingManifestResourceException clase con un mensaje de error especificado y una referencia a la excepción interna que es la causa de esta excepción.

MissingManifestResourceException(String)

Inicializa una nueva instancia de la MissingManifestResourceException clase con el mensaje de error especificado.

Propiedades

Nombre Description
Data

Obtiene una colección de pares clave-valor que proporcionan información adicional definida por el usuario sobre la excepción.

(Heredado de Exception)
HelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.

(Heredado de Exception)
HResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.

(Heredado de Exception)
InnerException

Obtiene la Exception instancia que provocó la excepción actual.

(Heredado de Exception)
Message

Obtiene un mensaje que describe la excepción actual.

(Heredado de Exception)
Source

Obtiene o establece el nombre de la aplicación o el objeto que provoca el error.

(Heredado de Exception)
StackTrace

Obtiene una representación de cadena de los fotogramas inmediatos en la pila de llamadas.

(Heredado de Exception)
TargetSite

Obtiene el método que produce la excepción actual.

(Heredado de Exception)

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetBaseException()

Cuando se reemplaza en una clase derivada, devuelve la Exception causa principal de una o varias excepciones posteriores.

(Heredado de Exception)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoletos.

Cuando se reemplaza en una clase derivada, establece con SerializationInfo información sobre la excepción.

(Heredado de Exception)
GetType()

Obtiene el tipo de tiempo de ejecución de la instancia actual.

(Heredado de Exception)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Crea y devuelve una representación de cadena de la excepción actual.

(Heredado de Exception)

Eventos

Nombre Description
SerializeObjectState
Obsoletos.

Se produce cuando se serializa una excepción para crear un objeto de estado de excepción que contiene datos serializados sobre la excepción.

(Heredado de Exception)

Se aplica a

Consulte también