文章开场白免了,开始切入正题。
新建项目
- 在建项目的时候要注意,选择
Windows 窗体应用(.NET Framework)
,然后打开
安装包
- 在解决方案资源管理器中,选择刚才的项目名,鼠标右键找到并打开管理NuGet包,然后在浏览选项卡里,输入一个Costura.Fody并查找,有就点安装,安装前需要注意选择支持的对应版本和依赖项
静态编译
- 接下来,重新编译项目,没报错的话,项目里会出现一个隐藏的文件FodyWeavers.xml,这样就是可以了,这是Costura的配置文件,参考官方的文档修改吧,能按自己设置的条件编译程序,一般情况下不用管,使用默认配置即可
如果没有看到FodyWeavers.xml文件,那就自己手动添加
添加文件步骤
- 选择你的项目,单击鼠标右键,
- 选择“添加” → “新建项” → 找到“ XML文件 ”,
- 在新建XML文件名输入框填入“ FodyWeavers. xml “,
- 然后把如下内容复制粘贴到新建的文件内容里
<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
<Costura />
</Weavers>
-
最后,确定一下是否会打包编译成可独立运行的桌面程序,打开项目里的目录
bin/Debug/
或者bin/Release/
下看看,如下图所示,所有依赖的dll文件都打包在一个exe可执行程序里
-
接着,清理一下,然后重新生成,再看看输出文件夹里,是否减少了dll依赖文件,
遇到问题
看到有些dll文件依旧存在?
-
创建一两个文件夹,
Costura64
或者Costura32
,根据你编译的运行环境选择,把生成的依赖文件复制那文件夹里面
-
再把复制到的一些文件,设置包括到项目中,然后修改属性生成操作为嵌入的资源
-
重新编译后,可以发现生成的
exe可执行程序
的文件大小,是否变大了,
接下来,删除除exe可执行程序之外的一些依赖文件,
- 再点击运行exe可执行程序试试,没问题就OK
收工
到此结束,一个可执行的桌面程序绿色版本就这样弄出来了,
无需安装,直接运行,方便分享程序给他人使用。