Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

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)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class MissingSatelliteAssemblyException : SystemException
/** @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.

using System;
using System.Resources;
using System.Globalization;
using 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.Length == 1) 
			{
				strCulture = args[0];
			}
		if (strCulture != "") 
		{
			try {
				Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCulture);
			}
			catch (ArgumentException e){
				Console.WriteLine(e.Message, "Bad command-line argument");
			}
		}
		else
			Console.WriteLine("Current culture is: {0}", CultureInfo.CurrentUICulture.ToString());

		ResourceManager rm;

		try
		{
			rm = new ResourceManager("MyStrings", typeof(Demo).Assembly);
			NeutralResourcesLanguageAttribute attr = 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 (MissingSatelliteAssemblyException e){
			Console.WriteLine(e.Message, "Unable to locate satellite Assembly");
		}



        }

}

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
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.