欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

C# 嵌入dll 的方法

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊: 次

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

        答案是有的!  

      在工程項(xiàng)目目錄下找到Resources.resx文件并點(diǎn)擊,然后按下面操作,添加資源,將你要加入的dll添加進(jìn)來。       

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

        然后在工程中加入下面這個(gè)函數(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就包含這個(gè)dll文件啦。

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

總結(jié)

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

上一篇:C# WebApi 接口傳參詳解

欄    目:C#教程

下一篇:C# WebApi 接口返回值不困惑:返回值類型詳解

本文標(biāo)題:C# 嵌入dll 的方法

本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5140.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有