[转]netcore发布独立单文件(非托管dll也打包进程序里)
命令行模板
dotnet publish -r <运行时> -c Release -f <框架版本,单框架时可不指定> --self-contained -p:PublishSingleFile=<单文件 true/false> -p:PublishTrimmed=<裁剪 true/false> (-p:IncludeNativeLibrariesForSelfExtract=<原生库以自解压形式打包 true/false> 或 -p:IncludeAllContentForSelfExtract=<全部内容文件以自解压形式打包 true/false>)
例子
dotnet publish -r win-x64 -c Release -f net6.0 --self-contained -p:PublishSingleFile=true -p:PublishTrimmed=true -p:IncludeNativeLibrariesForSelfExtract=true
dotnet publish -r linux-x64 -c Release --self-contained -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true
注意
如果不使用IncludeNativeLibrariesForSelfExtract
参数,打包出来的单文件会同时输出native dll作为依赖,不算真正的单文件,使用IncludeNativeLibrariesForSelfExtract
后把native dll作为自解压打包进去,才是真正的“单”文件。
如果有其他内容文件,要使用IncludeAllContentForSelfExtract
,会把全部内容文件也打包进去。
运行程序时,会先把原生库自动解压到C:\Users\用户名\AppData\Local\Temp\.net\程序文件名\
下的一个文件夹中。
使用PublishTrimmed
时,要检查生成的文件运行是否正常,以防必要的依赖被裁剪掉。
转自: https://www.cnblogs.com/zonciu/p/13961051.html
作者:xuejianxiyang
出处:http://xuejianxiyang.cnblogs.com
关于作者:Heaven helps those who help themselves.
本文版权归原作者和博客园共有,欢迎转载,但未经原作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2018-05-11 Sencha Architect打开闪退问题修复