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

C#(.Net)將非托管dll嵌入exe中的實現(xiàn)

 更新時間:2021年12月28日 10:29:06   作者:Dear_Xuan  
本文主要介紹了C#(.Net)將非托管dll嵌入exe中的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

托管dll與非托管dll

托管dll實際上是指C#編寫的dll,可以直接右鍵“引用”導(dǎo)入

而大部分情況下,我們需要引用C++寫的dll,如果你的dll是使用 DllImport來導(dǎo)入的,那么它就屬于非托管dll,這種dll無法直接嵌入exe中,需要借助工具:Costura.Fody,該工具可以使用VS直接下載

下載與安裝

右鍵引用,選擇“管理NuGet程序包”,搜索 "fody"

?點擊Costure.Fody,選擇右邊詳情欄內(nèi)的“安裝”按鈕

檢查“引用”,發(fā)現(xiàn)Costura已經(jīng)加入到項目中

添加Dll

右鍵 解決方案-“添加”-“新建項”

?新建如圖所示的XML文件(如果自動生成了就不需要新建): FodyWeavers.xml

此時這個XML文件會被添加到項目根目錄,以我的dll為例

dll名稱為: PicSizer_CUDA.dll

dll位數(shù)為: 64位

修改XML文件

<?xml version="1.0" encoding="utf-8"?>
<Weavers
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  
  <Costura>
    <Unmanaged64Assemblies>
      PicSizer_CUDA
    </Unmanaged64Assemblies>
  </Costura>
</Weavers>

注意:不要有后綴名,如果是32位只需要把“64”改成“32”

在項目中創(chuàng)建文件夾: Costura64

如果是32位同理改為32

把dll復(fù)制到該文件夾中,在生成時,會自動尋找 Costura64和Costura32文件夾中的dll

將dll設(shè)置為“嵌入的資源”

調(diào)用

直接使用DllImport用平常的方式調(diào)用即可

const string dll_path = "PicSizer_CUDA.dll";
 
[DllImport(dll_path, EntryPoint = "SetBrightness", CallingConvention = CallingConvention.Cdecl)]
public static extern bool SetBrightness(IntPtr ori, int length, byte dark);
 
[DllImport(dll_path, EntryPoint = "IsGPUSupport", CallingConvention = CallingConvention.Cdecl)]
public static extern bool IsGPUSupport();

編譯

重新編譯出exe,將exe復(fù)制到其它路徑,可以正常運行

到此這篇關(guān)于C#(.Net)將非托管dll嵌入exe中的實現(xiàn)的文章就介紹到這了,更多相關(guān)C#將非托管dll嵌入exe 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#隱式/顯示實現(xiàn)接口方法詳解

    C#隱式/顯示實現(xiàn)接口方法詳解

    這篇文章主要為大家詳細介紹了C#隱式/顯示實現(xiàn)接口方法,接口的使用場景介紹,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 詳解使用C#編寫SqlHelper類

    詳解使用C#編寫SqlHelper類

    本篇文章主要介紹了使用C#編寫SqlHelper類,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • C# for循環(huán)的經(jīng)典案例集錦

    C# for循環(huán)的經(jīng)典案例集錦

    本篇文章主要介紹了關(guān)于for循環(huán)的經(jīng)典案例,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • C#開發(fā)Windows UWP系列之對話框MessageDialog和ContentDialog

    C#開發(fā)Windows UWP系列之對話框MessageDialog和ContentDialog

    這篇文章介紹了C#開發(fā)Windows UWP系列之對話框MessageDialog和ContentDialog,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#中Cookie之存儲對象

    C#中Cookie之存儲對象

    這篇文章主要介紹了在項目中,需要將用戶的信息存到Cookie中,但是cookie只能保存字符串,所以需要先序列號,然后在存儲在cookie中,有需要的朋友可以借鑒下
    2015-07-07
  • winform實現(xiàn)限制及解除鼠標(biāo)移動范圍的方法

    winform實現(xiàn)限制及解除鼠標(biāo)移動范圍的方法

    這篇文章主要介紹了winform實現(xiàn)限制及解除鼠標(biāo)移動范圍的方法,涉及C#控制WinForm鼠標(biāo)事件屬性的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • c# 實現(xiàn)康威生命游戲(細胞自動機)的示例

    c# 實現(xiàn)康威生命游戲(細胞自動機)的示例

    這篇文章主要介紹了c# 實現(xiàn)康威生命游戲(細胞自動機)的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C# FTP操作類分享

    C# FTP操作類分享

    這篇文章主要為大家分享了C# FTP操作類的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • winform 實現(xiàn)選擇文件和選擇文件夾對話框的簡單實例

    winform 實現(xiàn)選擇文件和選擇文件夾對話框的簡單實例

    下面小編就為大家?guī)硪黄獁inform 實現(xiàn)選擇文件和選擇文件夾對話框的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C#常用正則驗證函數(shù)示例

    C#常用正則驗證函數(shù)示例

    這篇文章主要介紹了C#常用正則驗證函數(shù),舉例分析了C#針對IP驗證、價格驗證及正整數(shù)驗證的相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01

最新評論