开发程序的时候经常会引用一些第三方的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、重新构建项目。文章来源:https://www.toymoban.com/news/detail-494610.html
构建完成后,到项目的输出目录下找到新生成的EXE文件,你同时会发现输出目录下仍然存在那些DLL。不过不用担心,这个EXE已经能够独立运行了。你可以把这些DLL全部删除后再运行EXE试试。文章来源地址https://www.toymoban.com/news/detail-494610.html
到了这里,关于C#利用Costura.Fody制作绿色单文件程序(含多个Dll)合并成一个Exe)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!