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);
            }
        }
Example #2
0
        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;
        }
Example #4
0
        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()
            }));
        }
Example #5
0
        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()
            }));
        }
Example #6
0
 public ReactorForm(ComponentHost componentHost, System.Windows.Forms.Form form)
     : base(form)
 {
     RootHost = componentHost ?? throw new ArgumentNullException(nameof(componentHost));
 }
Example #7
0
 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)));
 }
Example #11
0
 public ReactorWindow(ComponentHost componentHost, System.Windows.Window window)
     : base(window)
 {
     RootHost = componentHost ?? throw new ArgumentNullException(nameof(componentHost));
 }
Example #12
0
 public ReactorWindow(Component root, System.Windows.Window window)
     : base(window)
 {
     RootHost = Component.Host(root ?? throw new ArgumentNullException(nameof(root)));
 }