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

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

时间:2024-03-19 09:15:32浏览次数:17  
标签:Costura 文件 Fody 项目 编译成 桌面

新建项目

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

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

 

标签:Costura,文件,Fody,项目,编译成,桌面
From: https://www.cnblogs.com/forges/p/18081947

相关文章

  • uniapp编译成微信小程序报错-Component is not found in path "components/canvaspage
     问题:我需要将components/canvaspagebg/index引入进pages/index/index   报错了pages/index/index页面引入: uni-app程序编译成微信小程序后,组件无法显示,控制台报错,错误信息为: 我查看了路径,是对的看网上的解决办法就是 我取消勾选后刷新页面就可以了,此时我在选中......
  • 利用Taro框架搭建基于React项目并编译成微信小程序
    Taro是一个开放式跨端跨框架解决方案,支持使用React/Vue/Nerv等框架来开发微信/京东/百度/支付宝/字节跳动/QQ/飞书小程序/H5/RN等应用。现如今市面上端的形态多种多样,Web、ReactNative、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不......
  • cython,将py文件编译成pyd/so文件
    在windows下使用cythonize可以将py文件编译成pyd,这样就完成了初步的python代码加密工作使用前需要先安装CythonpipinstallCython然后对py文件执行命令cythonize-i-3--directivealways_allow_keywords=truexxx.py这里有一个要注意的点:--directivealways_allow_keywor......
  • obproxy 源码编译以及一些问题整理-暂未编译成功
    尝试自己编译下oceanbase的obproxy并记录下一些问题,目前是暂未编译成功,因为是openssl版本包的问题环境说明基于了RockyLinuxrelease8.8,同时obproxy使用了4.2.1版本的构建参考命令这个官方已经提供了,主要就是initdebug,makeshbuild.shinitshbuild.sh......
  • python编译成可执行文件
    安装pipinstallpyinstaller执行pyinstaller--onefilexxxxx.py会在当前文件的同级目录生成dist文件夹,可执行文件就在里面......
  • .Net进阶(5)使用Fody实现 .NET的静态编织
    序言 广义的面向切面编程,有静态编织和动态代理两种形式,它们都可以在某个方法执行前后插入某种处理逻辑。不同的地方在于,前者发生在编译时期间,后者发生在运行时期间。对于.NET而言,最常见的静态编织方案是 PostSharp 和 Mono.Cecil,两者的区别是:一个付费、一个免费。本文介......
  • IL编制器 --- Fody
    介绍这个项目的名称“Fody”来源于属于织巢鸟科(Ploceidae)的小鸟(Fody),本身意义为编织。核心Fody引擎的代码库地址:https://github.com/Fody/FodyGithub上是这样介绍的:Fody是一个用于织制.NET程序集的可扩展工具。它允许在构建过程中作为一部分来操纵程序集的中间语言(IL),这需......
  • Go每日一库之136:gopherjs(将Go代码编译成JS)
    简介GopherJS可以将Go代码编译成纯JavaScript代码。其主要目的是为了让你可以使用Go来编写前端代码,这些代码可执行在浏览器上运行。你可以通过这里尝试下GopherJS:GopherJSPlayground.例如JavaScript代码:document.write("Hello world!");用GopherJS来写就变成这......
  • MethodTimer.Fody 统计代码执行时间
    开发时,经常需要了解代码的执行效率,可以借助MethodTimer.Fody这个开源库。主页:https://github.com/Fody/MethodTimer1、安装Nuget包:Install-PackageMethodTimer.Fody2、AddtoFodyWeavers.xml<Weavers><MethodTimer/></Weavers>3、代码部分,在需要统计的方法上头加上......
  • python脚本编译成可执行文件
    如何将Python脚本编译成可执行文件作为一名经验丰富的开发者,你可能会遇到将Python脚本转换为可执行文件的需求。这样做的好处是可以在没有Python解释器的情况下运行脚本,并将脚本与其他人共享,而无需让他们安装Python解释器。下面是一份关于如何实现这个过程的指南。整个流程首先,......