.NET的两种部署模式,了解一下
前言
以往部署程序一直是习惯性先安装运行时环境,然后再将发布打包好的程序运行起来;但当多个程序依赖不同版本框架平台时,如果部署在同一台机器上,那就需要在同一台机器上安装多个版本的运行时,总感觉有点不太方便,所以今天就来说说.NET部署的两种模式
正文
其实在发布程序时有两种模式可以选择,框架依赖模式和独立模式;
- 框架依赖模式:程序在发布打包时,只针对程序本身进行打包,如果打包好的程序要在其他机器上正常运行,首先要在对应的机器上安装对应版本框架的运行时,否则程序是不能运行的;
- 独立模式:程序在发布打包时,程序和依赖的框架一起打包了,只需要将打包好的文件放到对应的机器上直接运行即可,不需要安装框架运行时。
案例演示
演示前提
新建一个MVC项目,默认生成的项目就行,主要是有页面,演示方便(用其他形式同理,如API或控制台等都一样);
实操演示
右键项目->点击发布->弹框选择发布方式,这里建议选择用文件夹的形式,确定无误之后再上传到服务器比较保险。
点击下一步选择对应的发布文件夹,后续发布生成的文件就到此文件夹下啦。
指定好路径之后,点击右下角的完成,进入如下界面;
通常会直接点击发布按钮将程序发布,其实这个时候默认是以框架依赖的模式进行发布的,可以点击显示所有设置进行配置,如下:
这里先以框架依赖的方式发布一版,放到一个没有环境的机器上试试。这里是通过Xftp工具将发布文件传到Linux中,运行之前,需要将项目的启动文件赋予执行权限,否则不能执行,如下:
看看,果然运行不起来,必须先安装对应版本的运行时才行。
现在再切换为独立模式发布一版,这里需要注意一点,当选择独立模式时,一定要选择目标运行时,根据运行的机器进行选择即可,这里我要放在Linux上,所以选择Linux x64(下拉选项中Windows、Linux、Mac都可以选择,根据机器选择合适的环境发布就行)。
发布打包完成之后,同样传到Linux环境中,运行如下:
可以看到,独立部署的形式是可以正常运行的。
两种模式的优缺点
框架依赖模式
优点:发布文件小;
缺点:当同一台机器需要运行多个程序时,如果依赖的框架不同,就得重复安装;
独立模式
优点:部署方便,同一台机器上不同依赖的程序互相不影响,不需要安装对应版本的运行时;
缺点:发布的文件很大,包含了依赖框架的相关库文件;
这里就简单演示了Linux环境的操作,其他环境小伙伴们自己试试吧;代码就不上传了,就是简单建个项目演示,没有做任何更改。
总结
两种模式可以针对自己的需要进行部署,如果是同一台机器需要运行很多程序,又没有做类似于容器这种隔离的情况下,独立模式感觉还不错哦,依赖框架互不影响,可能会避免一些麻烦事。
关注“Code综艺圈”,和我一起学习吧;我回来啦~~~
.NET的两种部署模式,了解一下的更多相关文章
- Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)
一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud 分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...
- IIS在ASP.NET Core下的两种部署模式
KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择.ASP.NET CORE应用针对IIS具有两种部署模 ...
- Vue路由器的hash和history两种工作模式 && Vue项目编译部署
1 # 一.Vue路由器的两种工作模式 2 # 1.对于一个uri来说,什么是hash值? 井号及其后面的内容就是hash值. 3 # 2.hash值不会包括含在HTTP请求中,即:hash值不会带给 ...
- ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借
ASP.NET MVC深入浅出系列(持续更新) 一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...
- [转帖]kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较
kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较 https://www.cnblogs.com/xuxinkun/p/11052646 ...
- kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较
ingress controller在物理机上的两种部署方式 ingress controller(ingress-nginx)负责k8s中的7层负载均衡.其在物理机中有多种部署方式.本文中主要选择了 ...
- zookeeper有几种部署模式? zookeeper 怎么保证主从节点的状态同步?
一.zookeeper的三种部署模式 Zookeeper 有三种部署模式分别是单机模式.伪集群模式.集群模式.这三种模式在不同的场景下使用: 单机部署:一般用来检验 Zookeeper 基础功能,熟悉 ...
- java web学习总结(二十九) -------------------JavaBean的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...
随机推荐
- CF 1394 简要题解
最近都会做一些 \(\rm Div1\) 套题中 \(3000\) 分以下的题目. A 直接枚举贪心即可. B 首先不难发现总共可能的 \(c\) 序列只有 \(k!\) 种,很明显要暴力枚举所有情况 ...
- Log4j2日志技术总结
前言 现在流行是SLF4j和Log4j2组合的日志技术,但为了日志技术归类,故前因后果都将做一下介绍. 市场上流行的日志框架 JUL java util logging Java开发团队开发,Jdk原 ...
- Mac系统如何显示隐藏文件
Command+Shift+. 可以显示隐藏文件.文件夹,再按一次,恢复隐藏:finder下使用Command+Shift+G 可以前往任何文件夹,包括隐藏文件夹.
- winform 获得局域网内在线IP和计算机名,获取IP,多线程网络编程
转载请注明来源:https://www.cnblogs.com/hookjc/ using System; using System.Collections.Generic; using System ...
- WebGPU 中的缓冲映射机制
1. 什么是缓冲映射 就不给定义了,直接简单的说,映射(Mapping)后的某块显存,就能被 CPU 访问. 三大图形 API(D3D12.Vulkan.Metal)的 Buffer(指显存)映射后, ...
- Elementui【tooltip】 在弹框关闭之后再次‘出现’的问题
如图,第一次弹窗进来的时候,符合条件之后,这个提示文字的位置是对的,而且正常显示: 现在点击取消按钮,第二次进入弹窗,如图,提示文字就跑到了左上角,而且输入符合条件的数值之后,会另外显示一个toolt ...
- Kubernetes家族容器小管家Pod在线答疑?
Kubernetes家族容器小管家Pod在线答疑 不知道学习k8s的小伙伴们有没有跟我一样的疑问? k8s为什么不是直接运行容器,而是让Pod介入? Pod又是什么?为什么在应用容器化如此普遍的情况下 ...
- 联邦学习:按Dirichlet分布划分Non-IID样本
我们在<Python中的随机采样和概率分布(二)>介绍了如何用Python现有的库对一个概率分布进行采样,其中的dirichlet分布大家一定不会感到陌生.该分布的概率密度函数为 \[P( ...
- Solution -「多校联训」小卖部
\(\mathcal{Description}\) Link. 有 \(n\) 种物品,第 \(i\) 中有 \(a_i\) 个,单价为 \(b_i\).共 \(q\) 次询问,每次查询用不超 ...
- Vue 源码解读(1)—— 前言
当学习成为了习惯,知识也就变成了常识. 感谢各位的 点赞.收藏和评论. 新视频和文章会第一时间在微信公众号发送,欢迎关注:李永宁lyn 文章已收录到 github 仓库 liyongning/blog ...