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

来源:互联网 发布:淘宝网店认证照片 编辑:程序博客网 时间:2024/06/06 00:35

 

引用自:http://apps.hi.baidu.com/share/detail/18543708

 

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

引用dll文件

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

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

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

 

然后在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文件)