MissingSatelliteAssemblyException クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class MissingSatelliteAssemblyException Inherits SystemException
[SerializableAttribute] [ComVisibleAttribute(true)] public class MissingSatelliteAssemblyException : SystemException
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class MissingSatelliteAssemblyException : public SystemException
NeutralResourcesLanguageAttribute 属性で指定されているカルチャのサテライト アセンブリが見つからない場合、MissingSatelliteAssemblyException がスローされます。
MissingSatelliteAssemblyException は、値 0x80131536 の HRESULT COR_E_MISSINGSATELLITEASSEMBLY を使用します。
MissingSatelliteAssemblyException は、Equals メソッドの既定の実装を使用します。この実装では、参照が等値かどうかを判断できます。
MissingSatelliteAssemblyException クラスのインスタンスの初期プロパティ値の一覧については、MissingSatelliteAssemblyException コンストラクタのトピックを参照してください。
メモ |
---|
サテライト アセンブリが利用できない場合でもアプリケーションがなんらかの動作をするように、メイン アセンブリに中立的なリソースのセットを含めることを強くお勧めします。 |
現在のユーザー インターフェイスのカルチャまたはコマンド ラインで指定されたカルチャに対して作成されたリソース マネージャのニュートラル言語、フォールバック位置、およびフォールバック カルチャを表示するコード例を次に示します。
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
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"); } } }
using namespace System; using namespace System::Resources; using namespace System::Globalization; using namespace System::Threading; [assembly:NeutralResourcesLanguageAttribute("de",UltimateResourceFallbackLocation::Satellite)]; public ref class Demo { public: int FallbackDemo() { array<String^>^args = Environment::GetCommandLineArgs(); // If a specific culture is passed in through the command line, use that -- otherwise // just use the current ui culture String^ strCulture = L""; if ( args->Length == 1 ) { strCulture = args[ 0 ]; } if ( !strCulture->Equals( L"" ) ) { try { Thread::CurrentThread->CurrentUICulture = gcnew CultureInfo( strCulture ); } catch ( ArgumentException^ e ) { Console::WriteLine( e->Message, L"Bad command-line argument" ); } } else Console::WriteLine( L"Current culture is: {0}", CultureInfo::CurrentUICulture ); ResourceManager^ rm; try { rm = gcnew ResourceManager( L"MyStrings",Demo::typeid->Assembly ); NeutralResourcesLanguageAttribute^ attr = gcnew NeutralResourcesLanguageAttribute( L"de",UltimateResourceFallbackLocation::Satellite ); Console::WriteLine( L"Neutral language = {0}, Fallback location = {1}, Fallback culture = {2}", rm->GetString( L"Language" ), attr->Location, attr->CultureName ); Console::WriteLine( rm->GetString( L"MSG" ) ); } catch ( MissingSatelliteAssemblyException^ e ) { Console::WriteLine( e->Message, L"Unable to locate satellite Assembly" ); } return 1; } }; void main() { Demo^ d = gcnew Demo; d->FallbackDemo(); }
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.Exception
System.SystemException
System.Resources.MissingSatelliteAssemblyException
プラットフォーム
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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- MissingSatelliteAssemblyException クラスのページへのリンク