前言

以往部署程序一直是习惯性先安装运行时环境,然后再将发布打包好的程序运行起来;但当多个程序依赖不同版本框架平台时,如果部署在同一台机器上,那就需要在同一台机器上安装多个版本的运行时,总感觉有点不太方便,所以今天就来说说.NET部署的两种模式

正文

其实在发布程序时有两种模式可以选择,框架依赖模式和独立模式

  • 框架依赖模式:程序在发布打包时,只针对程序本身进行打包,如果打包好的程序要在其他机器上正常运行,首先要在对应的机器上安装对应版本框架的运行时,否则程序是不能运行的;
  • 独立模式:程序在发布打包时,程序和依赖的框架一起打包了,只需要将打包好的文件放到对应的机器上直接运行即可,不需要安装框架运行时

案例演示

演示前提

新建一个MVC项目,默认生成的项目就行,主要是有页面,演示方便(用其他形式同理,如API或控制台等都一样);

实操演示

右键项目->点击发布->弹框选择发布方式,这里建议选择用文件夹的形式,确定无误之后再上传到服务器比较保险。

点击下一步选择对应的发布文件夹,后续发布生成的文件就到此文件夹下啦。

指定好路径之后,点击右下角的完成,进入如下界面;

通常会直接点击发布按钮将程序发布,其实这个时候默认是以框架依赖的模式进行发布的,可以点击显示所有设置进行配置,如下:

这里先以框架依赖的方式发布一版,放到一个没有环境的机器上试试。这里是通过Xftp工具将发布文件传到Linux中,运行之前,需要将项目的启动文件赋予执行权限,否则不能执行,如下:

看看,果然运行不起来,必须先安装对应版本的运行时才行。

现在再切换为独立模式发布一版,这里需要注意一点,当选择独立模式时,一定要选择目标运行时,根据运行的机器进行选择即可,这里我要放在Linux上,所以选择Linux x64(下拉选项中Windows、Linux、Mac都可以选择,根据机器选择合适的环境发布就行)。

发布打包完成之后,同样传到Linux环境中,运行如下:

可以看到,独立部署的形式是可以正常运行的。

两种模式的优缺点
  • 框架依赖模式

    优点:发布文件小;

    缺点:当同一台机器需要运行多个程序时,如果依赖的框架不同,就得重复安装;

  • 独立模式

    优点:部署方便,同一台机器上不同依赖的程序互相不影响,不需要安装对应版本的运行时;

    缺点:发布的文件很大,包含了依赖框架的相关库文件;

这里就简单演示了Linux环境的操作,其他环境小伙伴们自己试试吧;代码就不上传了,就是简单建个项目演示,没有做任何更改。

总结

两种模式可以针对自己的需要进行部署,如果是同一台机器需要运行很多程序,又没有做类似于容器这种隔离的情况下,独立模式感觉还不错哦,依赖框架互不影响,可能会避免一些麻烦事。

关注“Code综艺圈”,和我一起学习吧;我回来啦~~~

.NET的两种部署模式,了解一下的更多相关文章

  1. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)

    一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud  分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...

  2. IIS在ASP.NET Core下的两种部署模式

    KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择.ASP.NET CORE应用针对IIS具有两种部署模 ...

  3. Vue路由器的hash和history两种工作模式 && Vue项目编译部署

    1 # 一.Vue路由器的两种工作模式 2 # 1.对于一个uri来说,什么是hash值? 井号及其后面的内容就是hash值. 3 # 2.hash值不会包括含在HTTP请求中,即:hash值不会带给 ...

  4. 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的无状态模 ...

  5. [转帖]kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较

    kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较 https://www.cnblogs.com/xuxinkun/p/11052646 ...

  6. kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较

    ingress controller在物理机上的两种部署方式 ingress controller(ingress-nginx)负责k8s中的7层负载均衡.其在物理机中有多种部署方式.本文中主要选择了 ...

  7. zookeeper有几种部署模式? zookeeper 怎么保证主从节点的状态同步?

    一.zookeeper的三种部署模式 Zookeeper 有三种部署模式分别是单机模式.伪集群模式.集群模式.这三种模式在不同的场景下使用: 单机部署:一般用来检验 Zookeeper 基础功能,熟悉 ...

  8. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  9. 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置

    摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...

随机推荐

  1. python 小兵(6)函数进阶

    阅读目录 函数参数-动态参数 名称空间 函数的嵌套 gloabal.nonlocal 回到顶部 函数参数-动态参数 之前我们说过传参,如果我们在传参数的时候不很清楚有哪些的时候,或者说给一个函数传了很 ...

  2. 第09讲:Flink 状态与容错

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...

  3. Java中HttpURLConnection使用详解、总结。

    感谢大佬:https://blog.csdn.net/qq_40036754/article/details/102554755 文章目录 一.前言 二.HttpURLConnection 介绍 三. ...

  4. UIKit绘图演练

    一般使用UIKit给我们提供的绘图来绘制一些文字,图片这些东西.     UIKit给我们提供画图的方法底层也是分为四步.所以也必须在drawRect方法当中去写.     1.如何画文字?      ...

  5. 关于String不可变的一些理解

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11683720.html 一直对String不可变感到疑问, 不知为何说String是不可变的, ...

  6. 快速搭建springboot工程

    一.创建SpringBoot的三种方式 在线创建: https://start.spring.io 在IntelliJ IDEA中选择Spring Initializr创建:或者在Eclipse中选择 ...

  7. MyBatis加强(4)~mybatis 插件开发

    一.插件介绍[动态代理] 1.插件[动态代理]:mybatis 允许在已经映射的语句的执行过程的某个时机进行拦截增强的机制. 2.mybatis中的组件动态代理的运用: MyBatis 在四大组件对象 ...

  8. Spring中的属性注入注解

    @Inject使用 JSR330规范实现的 默认按照类型注入 如果需要按照名称注入,@Inject需要和@Name一起使用 @Resource JSR250规范实现的,需要导入不同的包 @Resour ...

  9. Solution -「CF 1491H」Yuezheng Ling and Dynamic Tree

    \(\mathcal{Description}\)   Link. 做题原因:题目名.   给定一个长度 \(n-1\) 的序列 \(\{a_2,a_3,\cdots,a_n\}\),其描述了一棵 \ ...

  10. VMware vSphere,ESXi和vCenter的关系和区别

    VMware Inc.是一家软件公司.它开发了很多产品,尤其是各种云解决方案 .他的云解决方案包括云产品,数据中心产品和桌面产品等. vSphere是在数据中心产品下的一套软件.vSphere类似微软 ...