C#利用Costura.Fody制作绿色单文件程序(含多个Dll)合并成一个Exe)

这篇具有很好参考价值的文章主要介绍了C#利用Costura.Fody制作绿色单文件程序(含多个Dll)合并成一个Exe)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了。这样交给用户很不方便,希望的效果是直接交付一个exe文件。

这时候就需要借助一款名为Fody.Costura的插件。Fody.Costura是一个Fody框架下的插件,可通过Nuget安装到VS工程中。安装之后,就可以将项目所依赖的DLL(甚至PDB)文件全部打包到EXE文件里。

使用 Costura.Fody ,这个强大之处是可以在build阶段直接将依赖的DLL合并在目标EXE中,支持非托管DLL进行mixed mode 打包。不足之处是只能将DLL合并到EXE中,不支持DLL和DLL的合并。

github地址:https://github.com/Fody/Costura

nuget地址:NuGet Gallery | Costura.Fody 5.7.0

使用场景:最终发布只有一个EXE,将依赖的DLL合并到一个EXE中。

使用方法

1、在VS中,通过Nuget为目标EXE工程安装Costura.Fody。
2、重新构建项目。

构建完成后,到项目的输出目录下找到新生成的EXE文件,你同时会发现输出目录下仍然存在那些DLL。不过不用担心,这个EXE已经能够独立运行了。你可以把这些DLL全部删除后再运行EXE试试。文章来源地址https://www.toymoban.com/news/detail-494610.html

到了这里,关于C#利用Costura.Fody制作绿色单文件程序(含多个Dll)合并成一个Exe)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】利用Dockerfile制作个人的镜像文件详细讲解

    前言 Docker 是一个 开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 📕作者简介: 热爱跑步的恒川 ,致力于

    2024年02月11日
    浏览(34)
  • C#制作打包安装程序,安装程序类使用

    解决方案选中,visual studio界面顶部菜单栏,扩展—管理扩展—联机,在右侧搜索栏输入setup,搜索项目,安装Microsoft Visual Studio Installer Projects 2022, 然后在解决方案上右键,新建项目,搜索setup,选中Setup Project下一步创建此项目; 在安装项目上右键,选择View–文件系统—Appli

    2024年02月13日
    浏览(35)
  • python2.7.18绿色安装包制作

    0.前言:当前,python主流版本是3.x.x,但有时候需要用到python2.7.x 1.从官网下载python2.7.18安装包 下载地址:https://www.python.org/downloads/windows/ 2.安装python2.7.18(默认安装:C:Python27) 3.将C:WindowsSystem32python27.dll文件拷贝至C:Python27 4.将Python27目录打包至新的设备 5.注意事项: (

    2024年02月14日
    浏览(23)
  • PyQt5利用Qt Designer制作一个可以拖动获取文件信息的页面

    前言 本篇在讲什么 用pyqt5制作一个简单的程序,拖动文件或脚本可以读取文件信息 本篇适合什么 适合 初学PyQt5 的小白 本篇需要什么 对 Python 语法有简单认知 对 Qt 有简单认知 依赖 Pycharm 编辑器 本篇的特色 具有全流程的 图文教学 重实践,轻理论,快速上手 提供全流程的

    2024年01月15日
    浏览(38)
  • C#【必备技能篇】制作NuGet程序包,并发布到NuGet官网

    网址:https://www.nuget.org/ 这里写你要上传NuGet程序包的名称 【每个NuGet程序包(对应一个名称)可以上传多个版本】 新建一个“库”项目,代码如下: 框架使用 .NET Framework 4.6.1 ,这个在后面也会使用到,输出类型使用 类库 生成如下dll: 为了更好管理文件,在E:nuget新建MyP

    2024年02月01日
    浏览(23)
  • uniApp、微信小程序上传单个文件及多个文件

    使用官方api - uni.uploadFile 这是单个文件上传写法 这是上传多个文件写法 由于没有多个上传文件的方法,目前只能通过遍历的方式来进行多文件上传

    2024年04月16日
    浏览(29)
  • Ubuntu下通过.sh文件同时启动多个程序系列2—启动多个终端分别运行不同指令或者程序

    项目上经常遇到需要到开多个终端分别启动不用程序,这里简单介绍一个方法,通过.sh文件,同时启动多个程序 这里创建的文件名为 test.sh chmod 777 test.sh ./test.sh gnome-terminal --tab --title=A.sh – bash -c “ cd /home/aha/Downloads/test1 ./run.sh run.log ;exec bash” 只需要修改加粗部分即可 例如

    2024年02月06日
    浏览(46)
  • 微信小程序同时上传多个文件(wx.uploadFile)

    使用递归有一个问题,如果要上传的东西里,其余参数中有些值只能上传一次,比如日期,在第二次上传的时候会显示此日期已经添加,请勿重复添加,这样就会导致只上传成功第一个文件。 Multipart.min.js提取链接: 链接:提取Multipart.min.js 提取码:xxqd

    2024年02月03日
    浏览(47)
  • python pyinstaller spec文件 打包多个python文件为exe应用程序

    使用pyinstaller 单个文件打包 使用pyinstaller 多个文件打包 这里先看下项目文件结构: 编辑PaserAdapter_Test.spec文件 执行打包命令(可指定输出程序存放的路径) 假设使用默认路径 指定程序存放路径 如果在windows系统打包,则dist下会有对应的.exe程序,此时可脱离其他源文件独自

    2024年02月16日
    浏览(37)
  • C# 利用 UI 自动化框架与应用程序的用户界面进行交互来模拟点击按钮

    ①需要引入命名空间: using System.Windows.Automation; ②添加两个引用: UIAutomationClient、UIAutomationTypes 当程序已经启动时, AutoClickLoginButton 方法会寻找名为\\\"FR\\\"的应用程序进程。然后,它使用 AutomationElement.FromHandle 从该进程的主窗口句柄获取根元素。 接着, FindLoginButton 方法被调用

    2024年01月25日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包