您现在的位置是:首页 >技术交流 >C# Dll嵌入到.exe网站首页技术交流

C# Dll嵌入到.exe

_长银_ 2025-03-25 12:01:01
简介C# Dll嵌入到.exe
  1. 将dll属性作为 嵌入的资源
    在这里插入图片描述

  2. 修改引用属性为不复制
    在这里插入图片描述

  3. 增加dll识别来源

AppDomain.CurrentDomain.AssemblyResolve += new 
ResolveEventHandler(CurrentDomain_AssemblyResolve);

private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
    string assName = new AssemblyName(args.Name).Name;
    //这里是识别的路径,通过 GetManifestResourceStream 获取嵌入资源
    string resName = "默认命名空间.文件夹." + assName + ".dll";
    using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resName))
    {
        if (stream == null)
        {
            return null;
        }
        Byte[] assemblyData = new Byte[stream.Length];
        stream.Read(assemblyData, 0, assemblyData.Length);
        return Assembly.Load(assemblyData);
    }
}

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。