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

82 篇文章 3 订阅

新建项目

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

    安装包

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

      静态编译

      1. 接下来,重新编译项目,如果没报错,项目里会出现一个隐藏的文件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可执行程序里

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

遇到问题

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

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

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

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、软件开发环境以及开发工具: 框架:.NET Framework 4.0 工具:Visual Studio 2017 插件:DevExpress 18.1.7 环境:IIS 7 二、实现步骤 (1)在项目中创建一个名为WinformAutoUpdate.APP的Winform窗体应用工程,并将默认的Form1.cs窗体文件重命名为MainFrm.cs作为主程序窗体 创建主程序窗体 (2)在项目中再创建一个名为AutoUpdateTask的Winform应用程序工程,并将默认的Form1.cs窗体文件重命名为AutoUpdateTaskFrm.cs作为更新程序窗体 创建更新程序窗体 (3)在更新程序窗体中放入图上所示的相关控件; 进度条控件用于显示更新进度,放入一个Button按钮控件用于用户根据提示进行操作! 实现思路: 1、将更新程序放入磁盘的目录下面,并将其放在已经发布了的IIS中 当用户在运行程序窗体并点击左上角的更新按钮时,弹出程序更新窗体,并先自动从IIS中拉取updateList.xml文件,然后与本地程序作对比,检测是否需要升级软件; 如果有新版本发布,则点击“立即更新”按钮,程序将从IIS中拉取新发布的ZIP软件包,并自动解压到主程序目录中,覆盖主程序目录中的相关文件(这里值得注意的是,在解压程序之前,我们需要先结束主程序的进程,不然会因主程序进程正在使用而导致报错,另外,我们用到的插件是ICSharpCode.SharpZipLib.dll第三方动态链接库,网上有现成的,可以直接Down下来用);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lijingguang

有钱捧个钱场,没钱捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值