.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 ...
随机推荐
- python 小兵(6)函数进阶
阅读目录 函数参数-动态参数 名称空间 函数的嵌套 gloabal.nonlocal 回到顶部 函数参数-动态参数 之前我们说过传参,如果我们在传参数的时候不很清楚有哪些的时候,或者说给一个函数传了很 ...
- 第09讲:Flink 状态与容错
Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...
- Java中HttpURLConnection使用详解、总结。
感谢大佬:https://blog.csdn.net/qq_40036754/article/details/102554755 文章目录 一.前言 二.HttpURLConnection 介绍 三. ...
- UIKit绘图演练
一般使用UIKit给我们提供的绘图来绘制一些文字,图片这些东西. UIKit给我们提供画图的方法底层也是分为四步.所以也必须在drawRect方法当中去写. 1.如何画文字? ...
- 关于String不可变的一些理解
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11683720.html 一直对String不可变感到疑问, 不知为何说String是不可变的, ...
- 快速搭建springboot工程
一.创建SpringBoot的三种方式 在线创建: https://start.spring.io 在IntelliJ IDEA中选择Spring Initializr创建:或者在Eclipse中选择 ...
- MyBatis加强(4)~mybatis 插件开发
一.插件介绍[动态代理] 1.插件[动态代理]:mybatis 允许在已经映射的语句的执行过程的某个时机进行拦截增强的机制. 2.mybatis中的组件动态代理的运用: MyBatis 在四大组件对象 ...
- Spring中的属性注入注解
@Inject使用 JSR330规范实现的 默认按照类型注入 如果需要按照名称注入,@Inject需要和@Name一起使用 @Resource JSR250规范实现的,需要导入不同的包 @Resour ...
- Solution -「CF 1491H」Yuezheng Ling and Dynamic Tree
\(\mathcal{Description}\) Link. 做题原因:题目名. 给定一个长度 \(n-1\) 的序列 \(\{a_2,a_3,\cdots,a_n\}\),其描述了一棵 \ ...
- VMware vSphere,ESXi和vCenter的关系和区别
VMware Inc.是一家软件公司.它开发了很多产品,尤其是各种云解决方案 .他的云解决方案包括云产品,数据中心产品和桌面产品等. vSphere是在数据中心产品下的一套软件.vSphere类似微软 ...