_AppDomain.AssemblyResolveとは? わかりやすく解説

AppDomain.AssemblyResolve イベント

アセンブリ解決失敗したときに発生します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Event AssemblyResolve As
 ResolveEventHandler
Dim instance As AppDomain
Dim handler As ResolveEventHandler

AddHandler instance.AssemblyResolve, handler
public event ResolveEventHandler AssemblyResolve
public:
virtual event ResolveEventHandler^ AssemblyResolve {
    void add (ResolveEventHandler^ value) sealed;
    void remove (ResolveEventHandler^ value) sealed;
}
/** @event */
public final void add_AssemblyResolve (ResolveEventHandler
 value)

/** @event */
public final void remove_AssemblyResolve (ResolveEventHandler
 value)
JScript では、イベント使用できますが、新規に宣言することはできません。
解説解説
使用例使用例

AssemblyResolve イベントサンプル次に示します

このコード例実行するには、アセンブリの完全限定名を指定する必要がありますアセンブリの完全限定名を取得する方法については、「アセンブリ名」を参照してください

Public Class MyType
   
   Public Sub New()
      Console.WriteLine("MyType instantiated!")
   End Sub 'New

End Class 'MyType

Module Test
   
   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      
      InstantiateMyType(currentDomain)    ' Failed!

      AddHandler currentDomain.AssemblyResolve, AddressOf
 MyResolveEventHandler
      
      InstantiateMyType(currentDomain)    ' OK!
   End Sub 'Main
   
   Sub InstantiateMyType(domain As AppDomain)
      Try
     ' You must supply a valid fully qualified assembly name here.
         domain.CreateInstance("Assembly text name, Version, Culture,
 PublicKeyToken", "MyType")
      Catch e As Exception
         Console.WriteLine(e.Message)
      End Try
   End Sub 'InstantiateMyType
   
   Function MyResolveEventHandler(sender As
 Object, args As ResolveEventArgs) As
 [Assembly]
      Console.WriteLine("Resolving...")
      Return GetType(MyType).Assembly
   End Function 'MyResolveEventHandler

End Module 'Test
public class MyType {
   public MyType() {
      Console.WriteLine("MyType instantiated!");
   }
}

class Test {
   public static void Main()
 {
      AppDomain currentDomain = AppDomain.CurrentDomain;

      InstantiateMyType(currentDomain);    // Failed!

      currentDomain.AssemblyResolve += new ResolveEventHandler(MyResolveEventHandler);

      InstantiateMyType(currentDomain);    // OK!
   }

   static void InstantiateMyType(AppDomain
 domain) {
      try {
     // You must supply a valid fully qualified assembly name here.
         domain.CreateInstance("Assembly text name, Version, Culture, PublicKeyToken",
 "MyType");
      } catch (Exception e) {
         Console.WriteLine(e.Message);
      }
   }
   
   static Assembly MyResolveEventHandler(object sender, ResolveEventArgs
 args) {
      Console.WriteLine("Resolving...");
      return typeof(MyType).Assembly;
   }
}
public ref class MyType
{
public:
   MyType()
   {
      Console::WriteLine( "MyType instantiated!" );
   }

};

ref class Test
{
public:
   static void InstantiateMyType( AppDomain^
 domain )
   {
      try
      {
         // You must supply a valid fully qualified assembly name here.
         domain->CreateInstance( "Assembly text name, Version, Culture, PublicKeyToken",
 "MyType" );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( e->Message );
      }
   }

   static Assembly^ MyResolveEventHandler( Object^ sender, ResolveEventArgs^
 args )
   {
      Console::WriteLine( "Resolving..." );
      return MyType::typeid->Assembly;
   }
};

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   Test::InstantiateMyType( currentDomain ); // Failed!
   currentDomain->AssemblyResolve += gcnew ResolveEventHandler( Test::MyResolveEventHandler
 );
   Test::InstantiateMyType( currentDomain ); // OK!
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

_AppDomain.AssemblyResolve イベント

COM オブジェクトに、AppDomain.AssemblyResolve イベントへのバージョン依存しないアクセス用意されています。

このイベントは、CLS準拠していません。  

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Event AssemblyResolve As ResolveEventHandler
Dim instance As _AppDomain
Dim handler As ResolveEventHandler

AddHandler instance.AssemblyResolve, handler
event ResolveEventHandler AssemblyResolve
event ResolveEventHandler^ AssemblyResolve {
    void add (ResolveEventHandler^ value);
    void remove (ResolveEventHandler^ value);
}
/** @event */
void add_AssemblyResolve (ResolveEventHandler value)

/** @event */
void remove_AssemblyResolve (ResolveEventHandler value)
JScript では、イベント使用できますが、新規に宣言することはできません。
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「_AppDomain.AssemblyResolve」の関連用語

_AppDomain.AssemblyResolveのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



_AppDomain.AssemblyResolveのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS