当前位置: 移动技术网 > IT编程>开发语言>c# > 将DLL放入到资源中,运行时自动加载的小例子

将DLL放入到资源中,运行时自动加载的小例子

2019年07月18日  | 移动技术网IT编程  | 我要评论
今天在看到 一个小软件,考勤用的 attendancesheet_v_1_2,只有一个exe文件,绿色的随便考到哪里都可以运行。 顺手反编译后发现,他将需要的dll也放入

今天在看到 一个小软件,考勤用的 attendancesheet_v_1_2,只有一个exe文件,绿色的随便考到哪里都可以运行。

顺手反编译后发现,他将需要的dll也放入到资源文件了,在启动的时候自动加载:

 

代码如下:

复制代码 代码如下:

internal static class program
{
    // methods
    [stathread]
    private static void main()
    {
        application.enablevisualstyles();
        application.setcompatibletextrenderingdefault(false);
        appdomain.currentdomain.assemblyresolve += delegate (object sender, resolveeventargs senderargs) {
            assembly executingassembly = assembly.getexecutingassembly();
            string name = new assemblyname(executingassembly.fullname).name;
            string str2 = new assemblyname(senderargs.name).name;
            string str3 = name + "." + str2 + ".dll";
            using (stream stream = executingassembly.getmanifestresourcestream(str3))
            {
                byte[] buffer = new byte[stream.length];
                stream.read(buffer, 0, buffer.length);
                return assembly.load(buffer);
            }
        };
        application.run(new 考勤表生成工具());
    }
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网