国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 嵌入dll 的方法

2019-10-29 19:59:47
字體:
來源:轉載
供稿:網友

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

        答案是有的!  

C#,嵌入,dll

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

C#,嵌入,dll

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

C#,嵌入,dll

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

 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();之前調用。這樣生成的exe就包含這個dll文件啦。

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

總結

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


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔西县| 锡林浩特市| 会昌县| 鹤山市| 杭锦后旗| 五大连池市| 清丰县| 武鸣县| 报价| 石门县| 关岭| 通河县| 富源县| 璧山县| 青海省| 泰州市| 永济市| 秦安县| 乌什县| 横山县| 江川县| 蕉岭县| 凤阳县| 泰安市| 奉新县| 永靖县| 丰城市| 儋州市| 尼勒克县| 长沙县| 乐都县| 伊宁县| 木里| 华蓥市| 固始县| 梅河口市| 青州市| 德州市| 中江县| 精河县| 改则县|