LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#】Costura.Fody、Enigma Virtual Box:將exe程序與其它dll等文件打包為一個exe的工具

admin
2025年6月21日 10:6 本文熱度 435

兩種打包exe文件的方式

一、使用NuGetCostura.Fody

在軟件開發過程中,有時需要將多個文件與可執行文件(exe)打包在一起,以便于分發和部署。在C#中,我們可以利用Costura.Fody等工具來實現這一目標。本文將介紹如何使用Costura.Fody來將文件夾與exe合并為一個exe

1、簡介

Costura.Fody是一個用于.NET應用程序的打包工具,它可以將你的應用程序及其所有依賴項(包括dll文件和資源文件)打包到一個單獨的可執行文件中。這樣做的好處是,你只需分發一個文件,而不是一個文件夾或多個文件,從而簡化了部署過程。

2、安裝Costura.Fody

要使用Costura.Fody,你首先需要將其安裝到你的項目中。你可以通過NuGet包管理器來安裝它。在你的Visual Studio中選擇工具-NuGet包管理器-管理解決方案的NuGet程序包

程序包源選擇全部,在瀏覽選項卡中搜索“Fody”,找到Costura.Fody并安裝。

3、配置Costura.Fody

安裝完Costura.Fody后,你需要在你的項目文件(.csproj)中進行一些配置。通常,Costura.Fody會自動添加必要的配置,但你可能需要手動調整一些設置。

確保你的項目是設置為生成exe文件:這通常意味著你的項目輸出類型應該設置為控制臺應用程序“Windows應用程序

編輯csproj文件:打開你的項目文件(.csproj),在文件的末尾添加以下配置(如果Costura.Fody沒有自動添加):

<ItemGroup><PackageReference Include="Costura.Fody" Version="x.x.x" /></ItemGroup><Target Name="AfterBuild" Condition="'$(Configuration)' == 'Release'"><!-- 這里可以添加額外的構建步驟,如果需要的話 --></Target><Import Project="$(MsBuildThisFileDirectory)..\packages\Costura.Fody.x.x.x\build\net472\Costura.Fody.targets" Condition="Exists('$(MsBuildThisFileDirectory)..\packages\Costura.Fody.x.x.x\build\net472\Costura.Fody.targets')" />

請注意,上面的x.x.x應該替換為你實際安裝的Costura.Fody的版本號。

指定要包含的文件:你可以通過在項目根目錄下創建一個FodyWeavers.xml文件來指定哪些額外的文件應該被包含到最終的exe文件中。默認文件如以下這樣:

<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd"><Costura /></Weavers>

然而,對于大多數情況,Costura.Fody會自動包括你的項目輸出目錄(bin\Debugbin\Release)中的所有文件。如果你希望包含特定的文件或文件夾,請確保它們在你的項目輸出目錄中,或者通過上面的IncludeFiles節點顯式指定它們。

4、構建你的項目

現在,你已經配置好了Costura.Fody,是時候構建你的項目了。在Visual Studio中,選擇構建”->“生成解決方案。如果你的配置正確,Costura.Fody將會在構建過程中運行,并將你的應用程序及其所有依賴項打包到一個單獨的exe文件中。

5、測試你的打包exe

構建完成后,你應該能夠在你的項目輸出目錄(通常是bin\Debug)中找到一個名為[YourProjectName].exe的文件。這個文件包含了你的應用程序及其所有依賴項。你可以將該exe文件拷貝到一個獨立的文件夾進行試運行,看看沒有其他相關dll的情況下,它能否獨立正常運行。

5.視頻操作案例

5.1 未打包前,將exe程序拷貝出來,并配置文件等相關文件放在exe同路徑下,exe無法打開。

5.2使用Costura.Fody打包后dll文件無需再放入運行目錄即可運行程序

注意:使用Costura.Fody打包后,與該exe相關的關聯dll文件會全部打包進去,但是本地數據庫文件或其他參數配置文件不會被打包,需要將他們一同放入exe所在文件夾方能正常運行。

二、使用Enigma Virtual Box工具進行打包

1.選擇主程序名稱,設置輸出虛擬程序名稱

2.添加需要打包的附加文件或文件夾,如果有文件夾,需要先建立文件夾,再選擇該文件夾添加文件夾中的所有文件

3.點擊打包按鈕,等待打包完成

4.視頻操作案例

4.1使用Enigma Virtual Box工具完整打包含參數,這種打包方式會將所有文件包括參數打包到一個文件,參數修改后無法保存,因為軟件關閉重開,又會恢復文件最初始的狀態。


4.2使用Enigma Virtual Box打包除參數外的全部文件,這種打包方式參數在外部,可以修改。


4.3省掉Costura.Fody打包步驟,直接Enigma Virtual Box工具打包除參數外全部文件

閱讀原文:原文鏈接


該文章在 2025/6/23 14:51:31 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
伊人久久大香线蕉AⅤ一区 亚洲第一页A∨在线 | 亚洲欧美中日韩在线 | 亚洲乱AV在线免费观看 | 日本最新免费新一二三区 | 婷婷中文字幕在线免费观看 | 精品免费AV一区二区三区 |