public static Type GetAssemblyType(string assemblyName, string className) { StreamResourceInfo info = Application.GetResourceStream(new Uri(assemblyName, UriKind.Relative)); Assembly assembly = new AssemblyPart().Load(info.Stream); Type type = assembly.GetType(className); return type; }
public void LoadNewAssemblyPartFromMemoryStream () { var assembly = new AssemblyPart ().Load (GetLibraryStream ()); Assert.IsNotNull (assembly); var type = assembly.GetType ("Foo.Bar"); Assert.IsNotNull (type); // a second time ? var a2 = new AssemblyPart ().Load (GetLibraryStream ()); Assert.IsTrue (Object.ReferenceEquals (assembly, a2), "twice"); }
private void wcXap_OnOpenReadCompleted(object sender, OpenReadCompletedEventArgs e) { if ((e.Error == null) && (e.Cancelled == false)) { var xap = new StreamResourceInfo(e.Result, null); System.Reflection.Assembly asm = new AssemblyPart().Load( Application.GetResourceStream( xap, new Uri("Eggs.dll", UriKind.Relative) ).Stream ); asm.GetType("Eggs").GetMethod("Start").Invoke(null, new object[] { (object) new Uri("http://localhost:35863/Spreadsheet.Tests.xap"), (object) xap }); } }