MissingSatelliteAssemblyException MissingSatelliteAssemblyException MissingSatelliteAssemblyException MissingSatelliteAssemblyException Class

Definición

Excepción que se produce cuando no existe el ensamblado satélite para los recursos de la referencia cultural predeterminada.The exception that is thrown when the satellite assembly for the resources of the default culture is missing.

public ref class MissingSatelliteAssemblyException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class MissingSatelliteAssemblyException : SystemException
type MissingSatelliteAssemblyException = class
    inherit SystemException
Public Class MissingSatelliteAssemblyException
Inherits SystemException
Herencia
MissingSatelliteAssemblyExceptionMissingSatelliteAssemblyExceptionMissingSatelliteAssemblyExceptionMissingSatelliteAssemblyException
Atributos

Ejemplos

En el ejemplo siguiente se usa el NeutralResourcesLanguageAttribute atributo para indicar que el inglés es referencia cultural predeterminada de la aplicación y que sus recursos se almacenan en un ensamblado satélite.The following example uses the NeutralResourcesLanguageAttribute attribute to indicate that English is the app's default culture and that its resources are stored in a satellite assembly. El ejemplo en sí incluye recursos en archivos .txt para las referencias culturales inglés y francés, tal como se describe en la tabla siguiente:The example itself includes resources in .txt files for the English and French cultures, as described in the following table:

Referencia culturalCulture Recurso de nombre/valorResource name/value Nombre del archivoFile name
InglésEnglish Greet = HelloGreet=Hello Greet.en.txtGreet.en.txt
FrancésFrench Greet = BonjourGreet=Bonjour Greet.fr.txtGreet.fr.txt

El siguiente código fuente compila una aplicación que cambia la referencia cultural de interfaz de usuario actual en primer lugar para francés (Francia) y, a continuación, ruso (Rusia) y se muestra un recurso específico de referencia cultural apropiado en ambos casos.The following source code builds an app that changes the current UI culture first to French (France) and then to Russian (Russia) and displays an appropriate culture-specific resource in both cases.

using System;
using System.Globalization;
using System.Resources;
using System.Threading;

[assembly:NeutralResourcesLanguageAttribute("en", UltimateResourceFallbackLocation.Satellite)]

public class Example
{
   public static void Main()
   {
      ResourceManager rm = new ResourceManager("GreetResources", typeof(Example).Assembly); 
      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-FR");
      Console.WriteLine("The current UI culture is {0}", Thread.CurrentThread.CurrentUICulture.Name);
      Console.WriteLine(rm.GetString("Greet"));
      
      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ru-RU");
      Console.WriteLine("The current UI culture is {0}", Thread.CurrentThread.CurrentUICulture.Name);
      Console.WriteLine(rm.GetString("Greet"));
   }
}
// The example displays the following output when created using BuildNoDefault.bat: 
//    The current UI culture is fr-FR
//    Bonjour
//    The current UI culture is ru-RU
//    
//    Unhandled Exception: System.Resources.MissingSatelliteAssemblyException: The satellite ass
//    embly named "HelloWorld.resources.dll, PublicKeyToken=" for fallback culture "en" either c
//    ould not be found or could not be loaded. This is generally a setup problem. Please consid
//    er reinstalling or repairing the application.
//       at System.Resources.ManifestBasedResourceGroveler.HandleSatelliteMissing()
//       at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo cult
//    ure, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackC
//    rawlMark& stackMark)
//       at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture
//    , Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
//       at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean
//     createIfNotExists, Boolean tryParents)
//       at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
//       at Example.Main()
// The example displays the following output when created using BuildDefault.bat:
//    The current UI culture is fr-FR
//    Bonjour
//    The current UI culture is ru-RU
//    Hello
Imports System.Globalization
Imports System.Resources
Imports System.Threading

<assembly:NeutralResourcesLanguageAttribute("en", UltimateResourceFallbackLocation.Satellite)>

Module Example
   Public Sub Main()
      Dim rm As New ResourceManager("GreetResources", GetType(Example).Assembly) 
      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-FR")
      Console.WriteLine("The current UI culture is {0}", Thread.CurrentThread.CurrentUICulture.Name)
      Console.WriteLine(rm.GetString("Greet"))
      
      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ru-RU")
      Console.WriteLine("The current UI culture is {0}", Thread.CurrentThread.CurrentUICulture.Name)
      Console.WriteLine(rm.GetString("Greet"))
   End Sub
End Module
' The example displays the following output:
'    The current UI culture is fr-FR
'    Bonjour
'    The current UI culture is ru-RU
'    
'    Unhandled Exception: System.Resources.MissingSatelliteAssemblyException: The satellite ass
'    embly named "HelloWorld.resources.dll, PublicKeyToken=" for fallback culture "en" either c
'    ould not be found or could not be loaded. This is generally a setup problem. Please consid
'    er reinstalling or repairing the application.
'       at System.Resources.ManifestBasedResourceGroveler.HandleSatelliteMissing()
'       at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo cult
'    ure, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackC
'    rawlMark& stackMark)
'       at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture
'    , Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
'       at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean
'     createIfNotExists, Boolean tryParents)
'       at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
'       at Example.Main()
' The example displays the following output when created using BuildDefault.bat:
'    The current UI culture is fr-FR
'    Bonjour
'    The current UI culture is ru-RU
'    Hello

Puede usar el siguiente archivo por lotes para compilar y ejecutar la versión de C# del ejemplo.You can use the following batch file to build and execute the C# version of the example. Si usa Visual Basic, reemplace csc por vbc y la extensión .cs por .vb.If you're using Visual Basic, replace csc with vbc, and replace the .cs extension with .vb. Cuando se ejecuta el ejemplo, se muestra una cadena de idioma francés pero se produce un MissingSatelliteAssemblyException excepción cuando la referencia cultural actual es ruso (Rusia).When the example is executed, it displays a French language string but throws a MissingSatelliteAssemblyException exception when the current culture is Russian (Russia). Esto es porque no existe el en\HelloWorld.dll del ensamblado satélite que contiene los recursos de la referencia cultural predeterminada.This is because the satellite assembly en\HelloWorld.dll that contains the resources of the default culture does not exist.


vbc HelloWorld.vb  

md fr  
resgen Greet.fr.txt  
al /out:fr\HelloWorld.resources.dll /culture:fr /embed:GreetResources.fr.resources  

HelloWorld  

Puede usar el siguiente archivo por lotes para compilar y ejecutar la versión de Visual Basic del ejemplo.You can use the following batch file to build and execute the Visual Basic version of the example. Si está utilizando C#, reemplace vbc con cscy reemplace el .vb extensión con .cs.If you're using C#, replace vbc with csc, and replace the .vb extension with .cs. Cuando se ejecuta el ejemplo, muestra una cadena de idioma francés cuando la referencia cultural de interfaz de usuario actual es el francés (Francia).When the example is executed, it displays a French language string when the current UI culture is French (France). Cuando la referencia cultural de interfaz de usuario actual es Rusia (ruso), muestra una cadena de idioma inglés porque no hay recursos de idioma ruso, pero el Administrador de recursos es capaz de cargar los recursos de la referencia cultural predeterminada de la en\HelloWorld2.dll del ensamblado satélite.When the current UI culture is Russia (Russian), it displays an English language string because Russian language resources do not exist, but the resource manager is able to load the resources of the default culture from the satellite assembly en\HelloWorld2.dll.


vbc HelloWorld.vb /out:HelloWorld2.exe  

md fr  
resgen GreetResources.fr.txt  
al /out:fr\HelloWorld2.resources.dll /culture:fr /embed:GreetResources.fr.resources  

md en  
resgen GreetResources.en.txt  
al /out:en\HelloWorld2.resources.dll /culture:en /embed:GreetResources.en.resources  

HelloWorld2  

Comentarios

La referencia cultural predeterminada es la referencia cultural cuyos recursos se cargan si no se puede encontrar los recursos específicos de la referencia cultural adecuados.The default culture is the culture whose resources are loaded if the appropriate culture-specific resources cannot be found. De forma predeterminada, los recursos para la referencia cultural predeterminada se encuentran en el ensamblado principal y un MissingManifestResourceException se produce si intenta recuperar el Administrador de recursos, pero no encuentra un recurso para la referencia cultural predeterminada.By default, resources for the default culture are located in the main assembly, and a MissingManifestResourceException is thrown if the resource manager tries to retrieve but cannot find a resource for the default culture. Sin embargo, .NET Framework cargará los recursos de la referencia cultural predeterminada de una aplicación desde un ensamblado satélite si el NeutralResourcesLanguageAttribute atributo especifica un valor de UltimateResourceFallbackLocation.Satellite para el parámetro de ubicación.However, the .NET Framework will load the resources for an app's default culture from a satellite assembly if the NeutralResourcesLanguageAttribute attribute specifies a value of UltimateResourceFallbackLocation.Satellite for the location parameter. Cuando esto sucede, el MissingSatelliteAssemblyException excepción se produce cuando el Administrador de recursos intenta recuperar un recurso de la referencia cultural predeterminada y el ensamblado satélite para la referencia cultural especificada en el NeutralResourcesLanguageAttribute falta el atributo.When this is the case, the MissingSatelliteAssemblyException exception is thrown when the resource manager tries to retrieve a resource of the default culture and the satellite assembly for the culture specified in the NeutralResourcesLanguageAttribute attribute is missing. Tenga en cuenta que la excepción se produce por un método de recuperación de recursos, como ResourceManager.GetString o ResourceManager.GetObjecty no cuando la ResourceManager se crea una instancia de objeto.Note that the exception is thrown by a resource retrieval method such as ResourceManager.GetString or ResourceManager.GetObject, and not when the ResourceManager object is instantiated.

MissingSatelliteAssemblyException utiliza HRESULT COR_E_MISSINGSATELLITEASSEMBLY, que tiene el valor 0 x 80131536.MissingSatelliteAssemblyException uses the HRESULT COR_E_MISSINGSATELLITEASSEMBLY, which has the value 0x80131536.

MissingSatelliteAssemblyException usa el valor predeterminado Equals implementación, que admite la igualdad de referencia.MissingSatelliteAssemblyException uses the default Equals implementation, which supports reference equality.

Para obtener una lista de valores de propiedad iniciales de una instancia de la MissingSatelliteAssemblyException de clases, vea el MissingSatelliteAssemblyException constructores.For a list of initial property values for an instance of the MissingSatelliteAssemblyException class, see the MissingSatelliteAssemblyException constructors.

Nota

Siempre debe usar el NeutralResourcesLanguageAttribute atributo para definir la referencia cultural predeterminada de la aplicación para que si no está disponible un recurso para una referencia cultural específica, la aplicación mostrará un comportamiento aceptable.You should always use the NeutralResourcesLanguageAttribute attribute to define your app's default culture so that if a resource for a specific culture is unavailable, your application will display acceptable behavior.

Constructores

MissingSatelliteAssemblyException() MissingSatelliteAssemblyException() MissingSatelliteAssemblyException() MissingSatelliteAssemblyException()

Inicializa una nueva instancia de la clase MissingSatelliteAssemblyException con propiedades predeterminadas.Initializes a new instance of the MissingSatelliteAssemblyException class with default properties.

MissingSatelliteAssemblyException(SerializationInfo, StreamingContext) MissingSatelliteAssemblyException(SerializationInfo, StreamingContext) MissingSatelliteAssemblyException(SerializationInfo, StreamingContext) MissingSatelliteAssemblyException(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase MissingSatelliteAssemblyException a partir de datos serializados.Initializes a new instance of the MissingSatelliteAssemblyException class from serialized data.

MissingSatelliteAssemblyException(String) MissingSatelliteAssemblyException(String) MissingSatelliteAssemblyException(String) MissingSatelliteAssemblyException(String)

Inicializa una nueva instancia de la clase MissingSatelliteAssemblyException con el mensaje de error especificado.Initializes a new instance of the MissingSatelliteAssemblyException class with the specified error message.

MissingSatelliteAssemblyException(String, Exception) MissingSatelliteAssemblyException(String, Exception) MissingSatelliteAssemblyException(String, Exception) MissingSatelliteAssemblyException(String, Exception)

Inicializa una nueva instancia de la clase MissingSatelliteAssemblyException con el mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción.Initializes a new instance of the MissingSatelliteAssemblyException class with a specified error message and a reference to the inner exception that is the cause of this exception.

MissingSatelliteAssemblyException(String, String) MissingSatelliteAssemblyException(String, String) MissingSatelliteAssemblyException(String, String) MissingSatelliteAssemblyException(String, String)

Inicializa una nueva instancia de la clase MissingSatelliteAssemblyException con un mensaje de error especificado y el nombre de una referencia cultural neutra.Initializes a new instance of the MissingSatelliteAssemblyException class with a specified error message and the name of a neutral culture.

Propiedades

CultureName CultureName CultureName CultureName

Obtiene el nombre de la referencia cultural predeterminada.Gets the name of the default culture.

Data Data Data Data

Obtiene una colección de pares clave-valor que proporcionan más información definida por el usuario sobre la excepción.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Obtiene la instancia Exception que produjo la excepción actual.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Obtiene un mensaje que describe la excepción actual.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Obtiene el método que produjo la excepción actual.Gets the method that throws the current exception.

(Inherited from Exception)

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Cuando se invalida en una clase derivada, establece SerializationInfo con información sobre la excepción.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

Obtiene el tipo en tiempo de ejecución de la instancia actual.Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Crea y devuelve una representación de cadena de la excepción actual.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Eventos

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Se aplica a

Consulte también: