• .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;
    }
  • 相关阅读:
    IOS图像处理(6)在内存上下文中绘图
    IOS图像处理(5)填充模式
    IOS图像处理(4)坐标变化
    IOS图像处理(3)绘制路径
    IOS图像处理(2)绘制文本
    IOS图像处理(1)绘制简单的几何图形
    containsString
    UIScrollView zoom in/out center
    Mac Sublime Text 2 快捷键(转)
    Characteristics with cached values must be read-only
  • 原文地址:https://www.cnblogs.com/anjou/p/1821643.html
Copyright © 2020-2023  润新知