随笔 - 97  文章 - 20  评论 - 94  阅读 - 22万

把DLL文件打包进EXE的技巧(C#)

 

废话就不多说了,直接进入主题吧

用VS2005建立一个windows项目,取名test

引用dll文件

编写代码,正常引用dll里的类库,

同时在test项目添加资源文件(该文件就是刚才引用的dll文件)

VS2005会自动生成引用代码,我这里引用的是IrisSkin2.dll

internal static byte[] IrisSkin2 {
            
get {
                
object obj = ResourceManager.GetObject("IrisSkin2", resourceCulture);
                
return ((byte[])(obj));
            }

        }

然后在Main(program.cs)函数里加入代码

 

static void Main()
        
{
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(
false);

            
string path = Application.StartupPath + "\";
            
string dllFileName = "IrisSkin2.dll";
            
//******加载IrisSkin2.dll******
            if (!File.Exists(path + dllFileName))   //文件不存在
            {
                FileStream fs 
= new FileStream(path + dllFileName, FileMode.CreateNew, FileAccess.Write);
                
byte[] buffer = GetData.Properties.Resources.IrisSkin2;//{GetData是命名空间}
                fs.Write(buffer, 
0, buffer.Length);
                fs.Close();
            }

            
//*****************************
            
            Application.Run(
new GDForm());
        }

编译test项目,生成exe文件,

然后删除引用的dll文件(注意是先编译,再删除)

复制该exe文件就可以在别的地方运行了(不用dll,运行EXE会自动生成DLL文件)

posted on   关寒融冰  阅读(6266)  评论(4编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2009年5月 >
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

鲁ICP备07018066号-1
点击右上角即可分享
微信分享提示