将DLL放入到资源中,运行时自动加载的小例子
时间:2021-05-13 08:11:37|栏目:.NET代码|点击: 次
今天在看到 一个小软件,考勤用的 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 考勤表生成工具());
}
}
上一篇:巧用ASP.NET Cookie
栏 目:.NET代码
下一篇:C# httpwebrequest访问HTTPS错误处理方法
本文地址:http://www.codeinn.net/misctech/120247.html






