3 using System
.Reflection
;
7 const int expected_count
= 2;
8 static int event_handler_count
;
10 public static int Main ()
12 AppDomain
.CurrentDomain
.AssemblyResolve
+= new ResolveEventHandler (MyResolveEventHandler
);
14 event_handler_count
= 0;
16 Assembly a
= Assembly
.LoadFile (Path
.Combine (Directory
.GetCurrentDirectory (), "assemblyresolve_asm.dll"));
17 foreach (Type t
in a
.GetTypes ()) {
18 Console
.WriteLine ("pp: " + t
+ " " + t
.BaseType
);
20 } catch (Exception ex
) {
21 Console
.WriteLine ($"Caught exception: {ex}");
25 if (event_handler_count
!= expected_count
) {
26 Console
.WriteLine ($"Expected MyResolveEventHandler to be called {expected_count} but was called {event_handler_count}");
33 static Assembly
MyResolveEventHandler (object sender
, ResolveEventArgs args
)
35 event_handler_count
++;
36 Console
.WriteLine ("Resolve assembly: {0}", args
.Name
);
37 if (args
.Name
== "Test, Version=0.0.0.0, Culture=neutral" || args
.Name
== "Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")
38 return Assembly
.LoadFile (Path
.Combine (Directory
.GetCurrentDirectory (), "assemblyresolve_deps", "Test.dll"));
39 if (args
.Name
== "TestBase, Version=0.0.0.0, Culture=neutral" || args
.Name
== "TestBase, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")
40 return Assembly
.LoadFile (Path
.Combine (Directory
.GetCurrentDirectory (), "assemblyresolve_deps", "TestBase.dll"));