亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C# 嵌入dll 的方法

 更新時間:2018年07月08日 17:11:41   作者:樹蔭下的陽光  
這篇文章主要介紹了C# 嵌入dll 的方法,本文圖文并茂給大家及時的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

在很多時候我們在生成C#exe文件時,如果在工程里調(diào)用了dll文件時,那么如果不加以處理的話在生成的exe文件運行時需要連同這個dll一起轉(zhuǎn)移,相比于一個單獨干凈的exe,這種形式總歸讓人不爽,那么有辦法讓生成的軟件中直接就包含這個dll文件嗎,這樣就可以不用dll跟著exe走了,避免單獨不能運行的情況。

        答案是有的!  

      在工程項目目錄下找到Resources.resx文件并點擊,然后按下面操作,添加資源,將你要加入的dll添加進來。       

      操作完成后,就會在下面的內(nèi)容框里看到你添加進來的dll。    

        然后在工程中加入下面這個函數(shù)代碼:

 System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
      string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");
      dllName = dllName.Replace(".", "_");
      if (dllName.EndsWith("_resources")) return null;
      System.Resources.ResourceManager rm = new System.Resources.ResourceManager(GetType().Namespace + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());
      byte[] bytes = (byte[])rm.GetObject(dllName);
      return System.Reflection.Assembly.Load(bytes);
    }

在InitializeComponent();之前調(diào)用。這樣生成的exe就包含這個dll文件啦。

public Form1()
    {
      this.StartPosition = FormStartPosition.CenterScreen;
      AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
      InitializeComponent();
    }

總結(jié)

以上所述是小編給大家介紹的C# 嵌入dll 的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

相關(guān)文章

最新評論