.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里。。然鹅现在。。。
发布文件大小节省了不少:

是不是闲的蛋疼的人才会测试这种事。。
.Net Core应用程序发布时不同方式的差别的更多相关文章
- .Net core 应用程序发布Web时,有些文件夹没有发布成功解决办法
如果文件是你在项目中手动添加的, 那么在解决方案中右击文件,然后点击属性,文件属性----高级----复制到输出目录----改为始终复制/如果较新则复制 即可.
- VS编译的QT程序发布时产生的AppCrash问题
至少我碰到了三个情况,都是AppCrash错误(以下都指VS2008的Release的设置) 第1个错误,报错模块是程序自己 我使用VS2008 Team with SP1和QT4.86编译程序,一直 ...
- 解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)
Qt程序的文字编码,是通过插件来解决的,所以我们发布的时候需要把相应的插件也发布出去,在开发者电脑上程序会自动从插件目录加载到插件,但是如果发布给别的电脑使用,需要手动指定插件路径,如下所示: int ...
- iOS程序发布时出现your application is being uploaded解决办法
当用Xcode发布app时候出现“your application is being uploaded”或者用Application Loader 一直出现“ 正在通过ITUNES STORE进行鉴定 ...
- 快速搞懂.NET 5/.NET Core应用程序的发布部署
.NET Framework时代,.NET 应用程序大多直接部署运行在Windows服务器上,当然也可以通过Mono部署运行在Linux上.无论部署exe,还是IIS站点.或是Windows Serv ...
- 如何在ASP.NET Core程序启动时运行异步任务(3)
原文:Running async tasks on app startup in ASP.NET Core (Part 3) 作者:Andrew Lock 译者:Lamond Lu 之前我写了两篇有关 ...
- 如何在ASP.NET Core程序启动时运行异步任务(2)
原文:Running async tasks on app startup in ASP.NET Core (Part 2) 作者:Andrew Lock 译者:Lamond Lu 在我的上一篇博客中 ...
- 如何在ASP.NET Core程序启动时运行异步任务(1)
原文:Running async tasks on app startup in ASP.NET Core (Part 1) 作者:Andrew Lock 译者:Lamond Lu 背景 当我们做项目 ...
- ASP.NET Core 指定环境发布(hosting environment)
ASP.NET Core 应用程序发布命令: dotnet publish [<PROJECT>] [-f|--framework] [-r|--runtime] [-o|--output ...
随机推荐
- Spring部分面试知识
对Spring的理解 spring是一个轻量级的开源框架,贯穿持久层.业务逻辑层.控制层.让每一个功能模块都可以独立的分开,降低耦合度,提高代码复用度.spring通过控制反转降低耦合性,一个对象的依 ...
- 浅谈 Linux 下的 SSH1, SSH2
SSH:Secure Shell .是一种安全协议. 常见的应用场景是远程控制台登陆. SSH1免费,SSH2收费. 其实 SSH 并不只是在 Linux 和 Unix 下使用,他们同样在 Win ...
- Canvas中的剪切clip()方法
Canvas中的剪切 接下来我们要聊的不是图像的合成,而是Canvas中的另一个有用的功能:剪切区域.它是Canvas之中由路径所定义的一块区域,浏览器会将所有的绘图操作都限制在本区域内执行.在默认情 ...
- “小小科技女神”与微软DigiGirlz Day的约会
上周五在微软中国上海科技园举行的微软科技女生夏令营终于在一天“忙碌的轻松中”,伴随着师生和工程师们的欢笑结束了. 本次的微软科技女生夏令营一共有来自上海闵行区七宝中学.莘庄中学和闵行中学的共50名高中 ...
- 通信与实际用例应用(消息队列和进程撰写的ATM机与消息队列的五子棋对站)
int semget(key_t key, int nsems, int semflg); 功能:创建信号量或获取信号量 nsems:信号量的数量 semflg: IPC_CREAT|IPC_EXEC ...
- 远程管理客户端--SCCM
远程控制客户端(设备--启动--远程控制): 1.将该用户在SCCM中赋予 远程工具操作人员 权限后,可以通过ccm控制台连接客户端,即可以使用远程控制工具 客户端设置策略设置--远程工具--管理远程 ...
- rabbitmq集群方案
RabbitMQ的集群方案有以下几种: 1.普通的集群 exchange,buindling再所有的节点上都会保存一份,但是queue只会存储在其中的一个节点上,但是所有的节点都会存储一份queue的 ...
- August 02nd 2017 Week 31st Wednesday
Love means never having to say you are sorry. 爱就是永远不必说对不起. If there is ture love, you will never do ...
- Python 处理脚本的命令行参数-getopt
# -*- coding:utf-8 -*- import sys def test(): """ 参数列表:sys.argv 参数个数:len(sys.argv) 脚本 ...
- Access的"是否型"字段与Sql Server的"Bit"字段
---------------------------------------------------------------------------------------------------- ...