最近在做乙個上位機,需要儲存資料,所以引用了一些excel的元件,但是比較麻煩的是會多出幾個dll檔案,壓縮打包不方便使用,於是想能不能嵌入到exe中,只生成乙個檔案?
找到生成的exe和dll,把用到的dll複製新增到專案裡。
比如我的輸出目錄:
把這三個複製出來,放到工程裡:
比如我的,我是放在專案的res資料夾下的lib資料夾裡的,記住這個路徑。
接下來設定一下這幾個dll,把生成操作設定為「嵌入的資源」:
然後在主介面裡新增如下**:
namespace respiratormonitor
/// /// 動態載入資源
///
///
///
///
private assembly currentdomain_assemblyresolve(object sender, resolveeventargs args)
return null;}}
}}
注意第23行,是預設命名空間.資料夾.資料夾.+後面的**,我的預設命名空間是respiratormonitor,檔案相對路徑是res\lib
//預設命名空間+資料夾名+.
string resourcename = "respiratormonitor.res.lib." + new assemblyname(args.name).name + ".dll";
成功只生成乙個檔案,複製時只需要複製.exe檔案就可以了。 C Winform 嵌入資源
在 visual studio開發環境中設定此編譯器選項 1.在 解決方案資源管理器 中,建立資料夾 floder 2.在 floder 下新增檔案,選擇要嵌入的檔案。3.右鍵檢視屬性,將 生成操作 設定為 嵌入的資源 獲取方法 注意 system.reflection.assembly.getex...
C 載入嵌入到資源的非託管dll
我們總會遇到需要載入非win32的非託管dll,這裡推薦一種方式就是將那些非win32的非託管dll嵌入資源的方式,在入口解壓並且載入的方式,我先來看看如何實現吧,首先我們準備好demo,新增控制台專案如下 如下 static void main string args 解壓資源並且載入非託管dll...
C 將引用的dll嵌入到exe檔案中
通過網上查詢,將引用的dll,嵌入到exe專案中,通過編譯為單一的exe檔案。1.引用dll,將引用的dll設定為不複製 是否複製不影響使用,編譯完成後,只需要exe就可以了,旁邊的dll是否存在並不影響使用 2.將引用的dll嵌入到專案中。新建乙個專案資料夾,將引用的dll複製到此資料夾中,幷包含...