LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【C#】Costura.Fody、Enigma Virtual Box:将exe程序与其它dll等文件打包为一个exe的工具

admin
2025年6月21日 10:6 本文热度 17

两种打包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