MissingSatelliteAssemblyException Class

Note: This class is new in the .NET Framework version 2.0.

The exception that is thrown when the satellite assembly for the resources of the neutral culture is missing.

Namespace: System.Resources
Assembly: mscorlib (in mscorlib.dll)

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class MissingSatelliteAssemblyException
	Inherits SystemException
'Usage
Dim instance As MissingSatelliteAssemblyException

/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class MissingSatelliteAssemblyException extends SystemException
SerializableAttribute 
ComVisibleAttribute(true) 
public class MissingSatelliteAssemblyException extends SystemException

A MissingSatelliteAssemblyException is thrown when the satellite assembly for the culture specified in the NeutralResourcesLanguageAttribute attribute is missing.

MissingSatelliteAssemblyException uses the HRESULT COR_E_MISSINGSATELLITEASSEMBLY, which has the value 0x80131536.

MissingSatelliteAssemblyException uses the default Equals implementation, which supports reference equality.

For a list of initial property values for an instance of the MissingSatelliteAssemblyException class, see the MissingSatelliteAssemblyException constructors.

NoteNote

It is strongly recommended that your main assembly contain a neutral set of resources so that if a satellite assembly is unavailable, your application will display some acceptable behavior.

The following code example displays the neutral language, fallback location, and fallback culture for a resource manager that is created for the current user interface culture or a culture specified on the command line.

Imports System
Imports System.Resources
Imports System.Globalization
Imports System.Threading



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

Public Class Demo
   
    Public Overloads Shared Sub Main(ByVal args() As String)

        ' If a specific culture is passed in through the command line, use that -- otherwise
        ' just use the current ui culture
        Dim strCulture As String = ""
        If args.Length = 1 Then
            strCulture = args(0)
        End If
        If strCulture <> "" Then
            Try
                Thread.CurrentThread.CurrentUICulture = New CultureInfo(strCulture)
            Catch e As ArgumentException
                Console.WriteLine(e.Message, "Bad command-line argument")
            End Try
        Else
            Console.WriteLine("Current culture is: {0}", CultureInfo.CurrentUICulture.ToString())
        End If
        Dim rm As ResourceManager

        Try
            rm = New ResourceManager("MyStrings", GetType(Demo).Assembly)
            Dim attr As New NeutralResourcesLanguageAttribute("de", UltimateResourceFallbackLocation.Satellite)
            Console.WriteLine(("Neutral language = " + rm.GetString("Language") + ", Fallback location = " + attr.Location.ToString() + ", Fallback culture = " + attr.CultureName.ToString()))
            Console.WriteLine(rm.GetString("MSG"))

        Catch e As MissingSatelliteAssemblyException
            Console.WriteLine(e.Message, "Unable to locate satellite Assembly")
        End Try
    End Sub 'Main 
End Class 'Demo 



import System.*;
import System.Resources.*;
import System.Globalization.*;
import System.Threading.*;

/** @assembly NeutralResourcesLanguageAttribute("de",
    UltimateResourceFallbackLocation.Satellite)
 */
public class Demo
{
    public static void main(String[] args)
    {
        // If a specific culture is passed in through the command line, use
        // that -- otherwise just use the current ui culture
        String strCulture = "";
        if (args.get_Length() == 1) {
            strCulture = args[0];
        }
        if (!(strCulture.Equals(""))) {
            try {
                System.Threading.Thread.get_CurrentThread().
                    set_CurrentUICulture(new CultureInfo(strCulture));
            }
            catch (ArgumentException e) {
                Console.WriteLine(e.get_Message(), "Bad command-line argument");
            }
        }
        else {
            Console.WriteLine("Current culture is: {0}",
                CultureInfo.get_CurrentUICulture().ToString());
        }
        ResourceManager rm;
        try {
            rm = new ResourceManager("MyStrings",
                Demo.class.ToType().get_Assembly());
            NeutralResourcesLanguageAttribute attr = 
                new NeutralResourcesLanguageAttribute("de",
                UltimateResourceFallbackLocation.Satellite);
            Console.WriteLine("Neutral language = " 
                + rm.GetString("Language") + ", Fallback location = " 
                + attr.get_Location().ToString() + ", Fallback culture = " 
                + attr.get_CultureName().ToString());
            Console.WriteLine(rm.GetString("MSG"));
        }
        catch (MissingSatelliteAssemblyException e) {
            Console.WriteLine(e.get_Message(),
                "Unable to locate satellite Assembly");
        }
    } //main
} //Demo

System.Object
   System.Exception
     System.SystemException
      System.Resources.MissingSatelliteAssemblyException

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show: