zoukankan      html  css  js  c++  java
  • 把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文件)

  • 相关阅读:
    高级特性(4)- 数据库编程
    UVA Jin Ge Jin Qu hao 12563
    UVA 116 Unidirectional TSP
    HDU 2224 The shortest path
    poj 2677 Tour
    【算法学习】双调欧几里得旅行商问题(动态规划)
    南洋理工大学 ACM 在线评测系统 矩形嵌套
    UVA The Tower of Babylon
    uva A Spy in the Metro(洛谷 P2583 地铁间谍)
    洛谷 P1095 守望者的逃离
  • 原文地址:https://www.cnblogs.com/zengxlf/p/1458996.html
Copyright © 2011-2022 走看看