static void Main(string[] args) { var assemblyLocation = "/Users/rlander/git/dotnet-core-assembly-loading/src/lib/out/lib.dll"; WriteLine("Load lib.dll"); var host = new ComponentHost(); var assembly = host.LoadFromAssemblyPath(assemblyLocation); var type = assembly.GetType("lib.Class1"); WriteLine("Call GetString method:"); var method = type.GetMethod("GetString"); var returnValue = method.Invoke(null, null); WriteLine(returnValue); foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) { // only display assemblies not loaded in the Default AssemblyLoadContext if (AssemblyLoadContext.GetLoadContext(asm) == AssemblyLoadContext.Default) { continue; } WriteLine(asm.FullName); } }
static void Main(string[] args) { var assemblyLocation = "/Users/rlander/git/dotnet-core-assembly-loading/src/addin-loadassemblybypath/lib/bin/Debug/netcoreapp2.1/lib.dll"; WriteLine("Load lib.dll"); var host = new ComponentHost(); var assembly = host.LoadFromAssemblyPath(assemblyLocation); var type = assembly.GetType("loaderexample.Class1"); WriteLine("Call GetString method:"); var method = type.GetMethod("GetString"); var returnValue = method.Invoke(null, null); WriteLine(returnValue); WriteLine("Print loaded assemblies in 'host' AssemblyLoadContext:"); WriteLine("Call GetOtherString method:"); var method2 = type.GetMethod("GetOtherString"); var returnValue2 = method2.Invoke(null, null); WriteLine(returnValue2); WriteLine("Print loaded assemblies in 'host' AssemblyLoadContext:"); foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) { // only display assemblies not loaded in the Default AssemblyLoadContext if (AssemblyLoadContext.GetLoadContext(asm) == host) { WriteLine(asm.FullName); } } }
public override void Start() { base.Modified = false; base.Start(); ContainedComponent.PropertyChanged += ComponentPropertyChanged; ComponentHost.StartComponent(); this.ExitCode = ApplicationComponentExitCode.None; }
public static IApplication Create <T>(ComponentHost rootHost) where T : System.Windows.Forms.Form, new() { if (rootHost == null) { throw new ArgumentNullException(nameof(rootHost)); } return(Application.Register(new ReactorApplication() { RootHost = rootHost, Form = new T() })); }
public static IApplication Create <T>(ComponentHost rootHost) where T : ContentPage, new() { if (rootHost == null) { throw new ArgumentNullException(nameof(rootHost)); } return(Application.Register(new ReactorApplication() { RootHost = rootHost, Page = new T() })); }
public ReactorForm(ComponentHost componentHost, System.Windows.Forms.Form form) : base(form) { RootHost = componentHost ?? throw new ArgumentNullException(nameof(componentHost)); }
public ReactorForm(Component root, System.Windows.Forms.Form form) : base(form) { RootHost = Component.Host(root ?? throw new ArgumentNullException(nameof(root))); }
public override void Stop() { ComponentHost.StopComponent(); ContainedComponent.PropertyChanged -= ComponentPropertyChanged; base.Stop(); }
public ReactorWindow(ComponentHost componentHost, ContentPage form) : base(form) { RootHost = componentHost ?? throw new ArgumentNullException(nameof(componentHost)); }
public ReactorWindow(Component root, ContentPage form) : base(form) { RootHost = Component.Host(root ?? throw new ArgumentNullException(nameof(root))); }
public ReactorWindow(ComponentHost componentHost, System.Windows.Window window) : base(window) { RootHost = componentHost ?? throw new ArgumentNullException(nameof(componentHost)); }
public ReactorWindow(Component root, System.Windows.Window window) : base(window) { RootHost = Component.Host(root ?? throw new ArgumentNullException(nameof(root))); }