首页 > 编程语言 >.NET6 独立模式部署应用程序(无需客户机安装指定版本.NET运行时)

.NET6 独立模式部署应用程序(无需客户机安装指定版本.NET运行时)

时间:2024-08-06 11:49:39浏览次数:11  
标签:部署 客户机 应用程序 版本 NET6 NET 安装 运行

下图对于.NET开发人员一定不陌生,尤其是CS架构,客户电脑要运行基于.NET开发的程序,无论是使用C#,还是VB.NET、F#,发布后的程序的运行环境都需要有相应版本的.NET的运行时,否则应用程序将无法正常运行。
在这里插入图片描述

BS架构下,在服务器上安装指定版本.NET运行时,工作量可以忽略不计。试想,如果是CS架构,而且是大型的商业软件,客户电脑系统从XP 到 Win11都可能有,如果客户电脑没有指定版本.NET运行时,那么程序则无法正常运行。即使,通过程序引导用户自动安装,也有可能存在安装失败的风险,这对商业软件的发布以及用户体验来说,都是致命的,这也成了很多商业桌面软件在选择技术路径的时候一大顾虑。

可喜的是.NET6的发布和Visual Studio 2022加持,这些都将成为历史。如下图:
在这里插入图片描述

在发布设置中部署模式选择“独立”,则部署后的应用程序,本身就会包含相应版本的.NET的运行时,且无需用户安装
文件发布选项中,勾选“生成单个文件”,则发布后的应用程序,引用的绝大多数dll都将打包进exe中,对用户不可见;
勾选ReadyToRun,一定程度上也能提高程序启动速度,关于ReadyToRun的实现原理及优缺点,请参考以下微软官方文档:
https://learn.microsoft.com/zh-cn/dotnet/core/deploying/ready-to-run

下图是采用独立模式+生成单个文件选项部署和常规模式部署,生成的项目文件结构对比,可以看到独立模式部署生成项目大概会大了200多M,则多的应该就是.NET的运行时,虽然发布的项目文件大了200M,但是无需客户机安装指定版本.NET运行时,这对开发体验和用户体验都是极大的改善,
“生成单个文件”这一选项也让应用程序的项目结构看起来更加简洁。

在这里插入图片描述

 

标签:部署,客户机,应用程序,版本,NET6,NET,安装,运行
From: https://www.cnblogs.com/cuihongyu3503319/p/18344872

相关文章

  • 不安装运行时运行.NET程序
    好久没写文章了,有些同学问我公众号是不是废了?其实并没有。其实想写的东西很多很多,主要是最近公司比较忙,以及一些其他个人原因没有时间来更新文章。这几天抽空写了一点点东西,证明公众号还活着。长久以来的认知,对于托管代码.NET/JAVA,都是需要在服务器上安装SDK或者运行时......
  • 五、.Net Core Web Api连接MongoDB自动创建表格并实现CRUD功能
    五、.NetCoreWebApi连接MongoDB自动创建表格并实现CRUD功能1.注册MongoDB账号,并获取ConnectionString;MongoDB官网:MongoDB:TheDeveloperDataPlatform|MongoDB获取ConnectionString教程:ConnectionString获取在VSCodeforMac按下shift+command+p搜索Nuget......
  • 面试题 .NET Core 开发工程师
    在面试.NETCore高级开发工程师时,通常会涉及多个方面的问题,以评估候选人在不同领域的深度和广度。以下是一些常见的面试题目分类及示例问题:###基础知识1.**.NETCore与.NETFramework的区别?**-请解释.NETCore和.NETFramework的主要区别,以及在什么情况下选择使用......
  • .NET 开源权限认证项目 MiniAuth上线
    前言在Web应用项目中权限认证是个绕不开的话题,传统方法复杂又耗时。MiniAuth推出专为.NET开发者设计的简单、实用的权限认证项目。MiniAuth,作为ASP.NETCore的插件,让我们快速轻松实现用户登录、权限检查等功能。它支持多种认证方式,如JWT、Cookie,且易于集成到现有项目中。无论是......
  • Gartner 魔力象限:单一供应商安全访问服务边缘 2024,Palo Alto Networks 再次荣膺领导者
    GartnerMagicQuadrantforSingle-VendorSASE2024Gartner魔力象限:单一供应商安全访问服务边缘2024请访问原文链接:https://sysin.org/blog/gartner-magic-quadrant-single-vendor-sase-2024/,查看最新版。原创作品,转载请保留出处。Gartner魔力象限:单一供应商SASE2024Pu......
  • 1、.Net UI框架:Xamarin Forms - .Net宣传系列文章
    Xamarin.Forms是一个跨平台移动应用开发框架,它允许开发者使用C#和.NET进行一次编码,然后在iOS、Android、macOS和Windows等多个平台上运行。Xamarin.Forms是Xamarin的一部分,而Xamarin是微软的.NET跨平台开发工具集,它提供了一套API,可以在不同的设备上创建本地UI。Xama......
  • kubernetes面试
    前言  此面经为企鹅侠自己面试遇到和收集其它朋友提供的信息整理而成,给予大家参考,希望能有所帮助。!!!文档有问题请大家及时指出做修改哈k8s是什么?请说出你的了解?  答:Kubenetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统。主要功能是生产环境中的......
  • .netCore System.Drawing.Common 发布,在CentOS 运行报错
    centos下要运行 System.Drawing.Common,需要先安装mono的  libgdiplus插件才可以。安装后,还报以下错误的,才是下文的内容。 报错:System.PlatformNotSupportedException:System.Drawing.Commonisnotsupportedonnon-Windowsplatforms.Seehttps://aka.ms/systemdra......
  • 【Kubernetes】应用的部署(一):金丝雀部署
    应用的部署(一):金丝雀部署在项目迭代开发过程中,经常需要对应用进行上线部署。上线部署策略主要有3种:金丝雀部署、蓝绿部署和滚动部署。金丝雀部署也被叫作灰度部署。金丝雀部署过程:先让一部分用户继续使用旧版本,而另一部分用户开始使用新版本;如果新版本没有......
  • kubernetes-存储卷与持久化详解
    目录背景volume介绍emptyDirHostPathNFSconfigMapSecretPersistentVolume介绍PV回收策略PV访问策略基于nfs或nas创建pv创建hostpath类型的pvPV的状态PersistentVolumeClaim创建pvc与pv进行绑定使用pvc动态存储storageclass创建目录nfs添加授权目录创建yaml背景容器部署过程中一......