zoukankan      html  css  js  c++  java
  • .NET程序加壳 — 之动态加载程序集

    代码
    [STAThread]
    static void Main()
    {
        
    try
        {
            AppDomain.CurrentDomain.AssemblyResolve 
    += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
            
    //AppDomain.CurrentDomain.Load(Properties.Resources.XXX_Admin);
            
    // 从二进制流加载主程序集(EXE文件)
            Assembly assembly = Assembly.Load(Properties.Resources.XXX_Admin);
            
    // 获取程序集的入口方法(main方法)
            MethodInfo mi = assembly.EntryPoint;
            
    // 调用程序集的入口方法
            mi.Invoke(nullnull); 
        }
        
    catch (Exception ex)
        {
            
    string msg = ex.Message;
            
    throw;
        }
    }

    /// <summary>
    /// 加载主程序集所引用的程序集
    /// </summary>
    static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
        Assembly assembly 
    = null;
        
    try
        {
             
    string dllName = args.Name.Split('')[0];
             
    if (dllName.StartsWith("XXX.Common"))
             {
                 assembly 
    = Assembly.Load(Properties.Resources.XXX_Common);
             }
        }
        
    catch (Exception) 
        {
            MessageBox.Show(
    "加载数据集" + args.Name + "时出错!");
        }
        
    return assembly;
    }
  • 相关阅读:
    计时器
    练习
    实现跨层组件通信(Vue3___defineComponent)
    微信内置浏览器h5监听手机返回键
    ECharts柱状图线形图
    easyui日期到月份
    uni-app传参
    js浏览器唯一标识
    知网论文查重如何查呢,免费的是真的吗?
    淘宝检测论文查重可靠吗?怎么检验?
  • 原文地址:https://www.cnblogs.com/anjou/p/1821643.html
Copyright © 2011-2022 走看看