zoukankan      html  css  js  c++  java
  • 获取assemblies信息in .net core

    using System;
    using System.Linq;
    using System.Reflection;
    using System.Runtime.Loader;
    using Microsoft.Extensions.DependencyModel;
    
    namespace AssemblyLoadingDynamic
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                var asl = new AssemblyLoader();
                var asm = asl.LoadFromAssemblyPath(@"C:LocationOf" + "SampleClassLib.dll");
    
                var type = asm.GetType("MyClassLib.SampleClasses.Sample");
                dynamic obj = Activator.CreateInstance(type);
                Console.WriteLine(obj.SayHello("John Doe"));
            }
    
            public class AssemblyLoader : AssemblyLoadContext
            {
                // Not exactly sure about this
                protected override Assembly Load(AssemblyName assemblyName)
                {
                    var deps = DependencyContext.Default;
                    var res = deps.CompileLibraries.Where(d => d.Name.Contains(assemblyName.Name)).ToList();
                    var assembly = Assembly.Load(new AssemblyName(res.First().Name));
                    return assembly;
                }
            }
        }
    }
  • 相关阅读:
    Python—re模块
    Python—json模块
    Python—sys模块介绍
    Python—os模块介绍
    Python—randonm模块介绍
    Python—time模块介绍
    Python—包介绍
    Python—模块介绍
    Python—装饰器
    jvm、jre、jdk
  • 原文地址:https://www.cnblogs.com/94cool/p/5779283.html
Copyright © 2011-2022 走看看