WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

  • WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序已关闭评论
  • 30 次浏览
  • A+
所属分类:.NET技术
摘要

如果没有看到FodyWeavers.xml文件,那就自己手动添加添加文件步骤最后,确定一下是否会打包编译成可独立运行的桌面程序,打开项目里的目录bin/Debug/或者bin/Release/下看看,如下图所示,所有依赖的dll文件都打包在一个exe可执行程序里


新建项目

  1. 在建项目的时候要注意,选择Windows 窗体应用(.NET Framework)或者wpf项目,然后打开

    WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

    安装包

    1. 在解决方案资源管理器中,选择刚才的项目名,鼠标右键找到并打开管理NuGet包,然后在浏览选项卡里,输入一个Costura.Fody并查找,有就点安装,安装前需要注意选择支持的对应版本依赖项

      WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

      静态编译

      1. 接下来,重新编译项目,如果没报错,项目里会出现一个隐藏的文件FodyWeavers.xml,这样就是可以了,这是Costura的配置文件,参考官方的文档修改吧,能按自己设置的条件编译程序,一般情况下不用管,使用默认配置即可

      WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

      如果没有看到FodyWeavers.xml文件,那就自己手动添加

      添加文件步骤

      • 选择你的项目,单击鼠标右键,
      • 选择“添加” → “新建项” → 找到“ XML文件 ”,
      • 在新建XML文件名输入框填入“ FodyWeavers. xml “,
      • 然后把如下内容复制粘贴到新建的文件内容里
        <?xml version="1.0" encoding="utf-8" ?> <Weavers>     <Costura /> </Weavers>

        最后,确定一下是否会打包编译成可独立运行的桌面程序,打开项目里的目录bin/Debug/或者bin/Release/下看看,如下图所示,所有依赖的dll文件都打包在一个exe可执行程序里

        WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

 

      5.接着,清理一下,然后重新生成,再看看输出文件夹里,是否减少了dll依赖文件,

遇到问题

看到有些dll文件依旧存在?

  1. 创建一两个文件夹,Costura64或者Costura32,根据你编译的运行环境选择,把生成的依赖文件复制那文件夹里面

    WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

     7.再把复制到的一些文件,设置包括到项目中,然后修改属性生成操作为嵌入的资源

    WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

一个可执行的桌面程序绿色版本就这样弄出来了,无需安装,直接运行,方便分享程序给他人使用。