原创  把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;
                fs.Write(buffer, 
0, buffer.Length);
                fs.Close();
            }

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

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

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

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

发表于 @ 2008年04月09日 11:49:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:只允许运行一个实例 | 新一篇:动态生成控件的消息处理

  • 发表评论
  • 评论内容:
  •  
Copyright © ismycxp
Powered by CSDN Blog