C#把DLL文件打包进EXE

来源:互联网 发布:mysql 分组合计 编辑:程序博客网 时间:2024/05/21 06:00

http://blog.csdn.net/nieweiking/article/details/8771602


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

引用dll文件

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

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

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

[csharp] view plain copy
  1. internal static byte[] IrisSkin2 ...{  
  2.             get ...{  
  3.                 object obj = ResourceManager.GetObject("IrisSkin2", resourceCulture);  
  4.                 return ((byte[])(obj));  
  5.             }  
  6.         }  


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

 

[csharp] view plain copy
  1. static void Main()  
  2.         ...{  
  3.             Application.EnableVisualStyles();  
  4.             Application.SetCompatibleTextRenderingDefault(false);  
  5.   
  6.             string path = Application.StartupPath + "\";  
  7.             string dllFileName = "IrisSkin2.dll";  
  8.             //******加载IrisSkin2.dll******  
  9.             if (!File.Exists(path + dllFileName))   //文件不存在  
  10.             ...{  
  11.                 FileStream fs = new FileStream(path + dllFileName, FileMode.CreateNew, FileAccess.Write);  
  12.                 byte[] buffer = GetData.Properties.Resources.IrisSkin2;//{GetData是命名空间}  
  13.                 fs.Write(buffer, 0, buffer.Length);  
  14.                 fs.Close();  
  15.             }  
  16.             //*****************************  
  17.               
  18.             Application.Run(new GDForm());  
  19.         }  


 

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

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

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


0 0
原创粉丝点击