首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[C#][原创]将dll嵌入C#的exe中实现单文件的exe

[C#][原创]将dll嵌入C#的exe中实现单文件的exe

作者头像
云未归来
发布于 2025-07-18 08:18:02
发布于 2025-07-18 08:18:02
1240
举报

第一步:正常引用dll文件

项目=>引用=>选择dll文件=>属性=>复制本地改为false

第二步:Properties=>Resource.Rex=点开选择添加资源=>选择自己的dll文件

第三步:打开Program.cs文件修改下面的代码

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using System.Reflection;

namespace mp3播放器 {     static class Program     {         /// <summary>         /// 应用程序的主入口点。         /// </summary>         [STAThread]         static void Main()         {             AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;             Application.EnableVisualStyles();             Application.SetCompatibleTextRenderingDefault(false);             Application.Run(new Form1());         }

        private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)         {             string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");             dllName = dllName.Replace(".", "_");             if (dllName.EndsWith("_resources")) return null;             System.Resources.ResourceManager rm = new System.Resources.ResourceManager("mp3播放器" + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());             byte[] bytes = (byte[])rm.GetObject(dllName);             return System.Reflection.Assembly.Load(bytes);         }     } }

注意:mp3播放器时命名空间名字,改成自己的时候要根据实际情况确定

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档