.Net Core应用程序发布时不同方式的差别

.Net Core的文档更新的真是快。。每次看的时候都觉得之前是不是梦游看的。。。每次发布应用程序的时候都要翻看下文档。。至少rid是死活记不住。还是留个RID的索引吧。。还有发布的索引 ,这样就好复制粘贴了。。然后在留个不同发布方式的笔记,感觉之前没看过这段。。

当前提供了2种发布方式+1种第二种发布方式的推荐编码方式

依赖于Framework框架的发布方式 Framework-dependent deployments (FDD)  默认的

优点:

发布时不需要指定目标操作系统RID,.Net Core编译好的可执行文件为通用PE文件格式,什么系统下都可以跑。

发布文件小。

系统预装的.Net Core可以供多个应用程序共用,节省磁盘。

缺点:

需要预先安装应用程序运行所需的指定版本运行时。

运行时不符合新部署的应用程序时,可能会出事。

统一使用文档里提供的代码发布后文件夹大小确实是小:

独立提供运行时环境的部署方式 Self-contained deployments (SCD) 推荐的

优点:

每个应用程序使用自己发布文件包含的运行时框架,多个应用程序互不干涉。

不需要预先安装,运行时版本依各自口味。

缺点:

发布的时候指定RID。

包大,站磁盘。

文件大小增加了N倍:

 

内存较小的独立提供运行时环境的部署方式

 生成目标框架的RuntimeIdentifiers属性不指定为netcoreapp1.0,由于指定netcoreapp1.0后发布文件会包含冗余程序集,所以改为使用标准库netstandard2.0,缺啥补啥。之前使用project.json的时候,会打开project.lock.json文件锁定Microsoft.NETCore.App下的依赖文件,然后使用哪个沾到peoject.json里。。然鹅现在。。。

发布文件大小节省了不少:

是不是闲的蛋疼的人才会测试这种事。。

 

posted @ 2017-03-31 16:39  liamyu  阅读(1800)  评论(1编辑  收藏  举报