Dll嵌入到exe中

来源:互联网 发布:sql stuff用法 编辑:程序博客网 时间:2024/06/04 17:44

将Dll嵌入到exe中

  1. 将Dll加载到工程中,生成操作是”嵌入的资源”
  2. 在系统启动时加入程序集监听,代码如下:

    //在系统启动时加入程序集监听AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args){    string dllName = new AssemblyName(args.Name).Name + ".dll";    var assem = Assembly.GetExecutingAssembly();    string resourceName = assem.GetManifestResourceNames().FirstOrDefault(rn => rn.EndsWith(dllName));    if (resourceName == null) return null;    using (var stream = assem.GetManifestResourceStream(resourceName))    {        byte[] assemblyData = new byte[stream.Length];        stream.Read(assemblyData, 0, assemblyData.Length);        return Assembly.Load(assemblyData);    }}
0 0