码迷,mamicode.com
首页 > Web开发 > 详细

关于.net core程序的部署

时间:2018-10-28 11:29:51      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:机器   could   hub   支持   loading   提升   core   nat   文章   

最近发布.net core程序的时候,发现它是可以独立部署的,它支持如下两种部署方式:

  • 依赖框架的部署FDD。只发布我们的程序,运行前用户需要手动安装.net core runtime。
  • 独立部署SCD。发布我们的程序和.net core runtime,即我们的程序可以运行在没有安装..net core runtime的机器上。

大多数时候,我们采用的是FDD模式,这样发布的东西比较少,就几个dll就够了,并且能够跨平台,经常是windows版本写好的拿到linux上直接运行,非常方便。

一个简单的示例如下: dotnet publish --self-contained -r win-x64

主要是加入了--self-contained指令,另外,由于FDD模式发布的是原生程序,因此还需要用-r指定运行平台。

这种方式下,由于将runtime一并发布了,发布的程序占用空间较大,我试了一下,大概有60m,压缩后也有28m。不过有人发布了一个程序IL Linker,它可以分析程序实际依赖的dll,将没有使用到的dll从打包中剔除,号称可以将体积缩小一半。

需要注意的是,即使是以独立方式发布的.net core程序,也不一定能在对方的机器上运行还需要满足..net core运行环境才行,具体可以参考官方文章Windows 上 .NET Core 的决条件。简单的来讲,对于低版本的windows(如win7),需要如下两个条件:

另外,微软也在开发一个大招AOT CoreRT,类似之前提的.net native,简单的来书就是通过AOT将.net core程序直接编译成native程序,园子里有人体验过,最终发布的一个asp.net core程序也不到4m,可以说非常苗条了,并且native程序理论上也可以提升启动速度,希望微软能早日完成这个项目。

参考文章:

关于.net core程序的部署

标签:机器   could   hub   支持   loading   提升   core   nat   文章   

原文地址:https://www.cnblogs.com/TianFang/p/9864110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!