初学者必知的微软.NET6开发环境相关技术介绍

我是荔园微风,作为一名在IT界整整25年的老兵,看到不少初学者在学习编程语言的过程中如此的痛苦,我决定做点什么,我小时候喜欢看小人书(连环画),在那个没有电视、没有手机的年代,这是为数不多的课余生活方式这一。我画的不好,但是如果能帮大家理解编程语言,那我的目的就达到了,希望初学者少走弯路。下面我们就开始吧。

.NET 是一个开发平台,或者叫开发者平台。使用 .NET 你可以创建不同类型的应用程序,使用多种开发语言、编辑器和工具库创建网页、手机、桌面以及AI等应用。其核心特点是:跨平台。

就.NET的发展来说,2016年是一个分水岭,首先.NET不再是闭源的、收费的、也不是只能在 Windows 上运行。.NET已经完全开源了。再这之后,性能方面也发生很大改变,从 .NET Core 成熟后,其性能和 Go 旗鼓相当。在 Web 综合性能方面,其性能高出 Node.js 的 7 -10倍多。自 .NET 开源以来,参与建设 .NET 平台的有微软自己的团队,也有来自世界各地的 6 万多名开发者和 3700 多家公司。另外,早在 2014 年,微软就成立了 .NET 基金会,有微软、Google、三星等大厂扶持,用来推进 .NET 平台的发展。.NET 热情拥抱了开源和跨平台,开发市场也在热情地拥抱 .NET,越来越多的开发人员和公司参与到了 .NET 的大家庭中。

所以,对所有.NETT程序员来说,你一定要搞清楚版本信息。.NET平台最早始于2000年,是微软设立的与java生态相似定位的产品。当年微软的 Windows系统发展较好,但当时.NET微软只实现了 Windows版本,取名为.NET Framework。过了很多年,随着Windows技术的进一步发展,微软开始兑现最初的跨平台承诺。第一版的跨平台版本于2014年推出,为了避免大众以为是原来的不跨平台版本,最终取名为.NET Core。第一版.NET Core 只实现了.NET Framework版的部分功能,随着.NET Core 3.0的发布,功能和 API基本完备,包括WinForm等Windows限定的功能也集成了,另外,微软直接收购了第三方.NET跨平台实现Mono来增强.NET Core的功能。

但这样一来,微软不得不要维护.NET Core和.NET Framework两个双版本,所以就进行了战略调整,决定不再为.NET Framework添加功能,只进行常规维护,并把版本号定在4.x。那.NET Core这个名称也就意义不大了现在,为什么呢?因为.NET各业务线开始了统一到一个大平台下,这个大平台就叫做.NET5,在此基础上进行改进,也就有了现在的.NET6。

2021年11月8日,微软正式发布了 .NET 6 及其一系列内容,推出了 C# 10、F# 6 和 PowerShell 7.2。可以说.NET6才是真正实现微软的战略目标的首个版本。所以想学.NET6的小伙伴就多看我的CSDN文章。下面我们先来搞清四个概念的区别。

最容易搞错的四个概念:.NET、 .NET Core、 .NET Standard、.NET Framework

.NET是一般是指导.NET框架,也就是一个可以在计算机上实际运行的程序产品及其通用基础组件。在.NET5发布之前通常是.NET  Framework的简称,现在则指代.NET6。.NET Core是微软的官方平台.NET框架的实现,仅限指代1.x~3.x版本。.NET Framework 是微软官方的 Windows专用.NET框架的实现。

.NET Standard 是前面说的过渡性解决方案。.NET Core和.NET Framework双版本维护导致了.NET两个框架互不兼容,为解决这个问题,.NET Standard规定了所有.NET框架必须实现的API集合,只要遵照规范开发,生成的文件(仅限类库)就可同时在所有框架中使用。

.NET Framework的API已经是既定事实,因此.NET Standard基本上就是把.NET Framework API 设为标准。.NET6则是.NET Standard的超集,隐含向后兼容所有的.NET Standard版本。

另外值得一提ASP.NET Core与ASP.NET,ASP.NET 是.NET Framework的一种应用开发模型和与之配套的一组基础组件,用于开发Web服务应用,托管在 Windows专用的 IIS中。开发者使用的应用模型是WCF、WebForm和MVC等,这些顶层模型才是实际上的项目模板对应的应用模型。其他还有WinForm和WPF等,每种应用开发模型都是在通用基础框架上的特化,专用于特定类型应用的开发。

ASP.NET Core则是 ASP.NET的跨平台版本,因为 ASP.NET Core 基于.NET Core开发,所以使用相似的命名策略。ASP.NET Core的底层是完全重新实现的,但是在应用层保留了大量ASP.NET风格的API和约定,因此在开发时可以最大程度地继承从ASP.NET中获得的经验。ASP.NET Core在重写底层的同时整合了ASP.NET时代的MVC、Web API等上层应用模型。

.NET是一个全能的框架,能开发所有类型的应用。对于图形界面的客户端应用有WinForm、 WPF和 Maui等。其中, WinForm 是对 Windows系统控件的封装, WPF是基于 DirectX的自绘制界面,Maui则是跨平台的原生控件绑定。对于网络服务有ASP.NET Core和其衍生的其他应用模型。MVC和 Razor Pages等用于开发普通网站,WebAPI和gRPC等用于开发应用间交互的Web服务,Blazor用于开发复杂的富客户端应用。

那我们用什么开发工具来开发.NET6呢,答案是Visual Studio 2022。Visual Studio是微软为 Windows开发的集成开发工具,包括代码编辑、调试和项目管理等基本功能,以及源代码版本管理、软件测试、项目构建和发布等软件生命周期管理所需的大部分功能。从.NET Core 发布开始, Visual Studio 也开始了跨平台战略。从 Visual Studio 2019 开始提供MacOS版,虽然没有提供 Linux版,但微软提供了 Visual Studio Code和相应的远程开发与调试扩展用于进行Linux平台应用的开发。为了适应现代应用开发的需求,Visual Studio 2022提供了使用第三方平台和工具进行项目管理的功能,可以更好地融入现代化应用混合开发的趋势。

关于如何安装 Visual Studio,可以看我的另外一个帖子:

手把手教你Visual Studio 2022社区版编程工具安装和使用(.NET版)


安装Visual Studio的操作系统及硬件要求如下:

操作系统:

Windows 7 SP1及以上版本,推荐 Windows 10。

CPU:

双核1GHz及以上,推荐4核2GHz及以上。Visual Studio在编辑源代码的时候需要占用大量CPU计算资源用于提供智能提示和实时源代码分析。

内存:

至少2GB,推荐4GB以上。VS2022是64位应用,能利用大量内存管理复杂的项目。

硬盘:

预留至少50GB,如果完全安装所有功能则需要预留至少200GB。

安装时,切记,作为.NET程序员,在工作负载选项卡里就选中“web和云”区域里的“ASP.NET和web开发”,然后选中“桌面应用和移动应用”区域里的“.NET桌面开发”复选框,再点安装按钮。再单击“单个组件”选项卡,在“代码工具”区域选“适用于Visual Studio的github扩展”和“适用于windows的git”复选框。

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/325756.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[我的rust付费栏目]rust跟我学(一)已上线

大家好,我是开源库get_local_info的作者带剑书生,get_local_info诞生半个月,现在已经获得500的下载量,并获社区日更前五名,后被西安城市开发者社区收录(【我的Rust库】get_local_info 0.1.5发布_rust_科比布…

ChatGPT:人工智能划时代的标志(文末送书)

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. 什么是ChatGPT?二. ChatGPT是如何工作的?三. ChatGPT的应用领域四. ChatGPT的优缺点…

自创C++题目——风扇

预估难度 简单 题目描述 有一个风扇,它有个旋转叶片,每个旋转叶片的编号是,请输出它旋转后,中心点与地面的直线距离哪个叶片最近,输出此旋转叶片的编号。默认以“”的形式。 当时: 当或时,…

运筹说 第46期 | 目标规划-数学模型

经过前几期的学习,想必大家已经对线性规划问题有了详细的了解,但线性规划作为一种决策工具,在解决实际问题时,存在着一定的局限性:(1)线性规划只能处理一个目标,而现实问题往往存在多个目标;(2)…

vtk9.3 配置 visual studio 2019 运行环境 和运行实例详解

(1)包含文件配置: 项目--属性--VC目录,在包含目录中把include文件夹的地址加进去,一直要到下一级 vtk-9.3目录下, 小知识: 在Visual Studio 2019中运行项目时,如果项目中使用了第三…

CTF CRYPTO 密码学-2

题目名称:enc 题目描述: 字符 ZZZZ X XXZ ZZ ZXZ Z ZXZ ZX ZZX XXX XZXX XXZ ZX ZXZZ ZZXZ XX ZX ZZ 分析 此字段是由Z和X组成的字符,联想到莫斯密码是由.和-组成的所以接下来可以尝试莫斯密码解题 解题过程: Step1:…

济南元宇宙赋能新型工业化,助力工业制造业高质量发展

济南工业元宇宙赋能新型工业化,助力工业制造业高质量发展。随着科技的不断发展,新型工业化已成为推动经济发展的重要力量。济南市作为山东省的省会城市,拥有得天独厚的地理优势和资源优势,积极布局工业元宇宙领域,赋能…

12.云原生之kubesphere中应用部署方式

云原生专栏大纲 文章目录 k8s中应用部署Kubernetes常用命令 kubesphere中可视化部署应用创建工作负载服务暴露 helm部署应用helm命令行部署应用kubesphere中使用应用仓库 k8s中应用部署 在k8s中要想部署应用,需要编写各种yaml文件,一旦应用依赖比较复杂…

36V/1.6A两通道H桥驱动芯片-SS8812T可替代DRV8812

由工采网代理的SS8812T是一款双通道H桥电流控制电机驱动器;每个 H 桥可提供输出电流 1.6A,可驱动两个刷式直流电机,或者一个双极步进电机,或者螺线管或者其它感性负载;双极步进电机可以以整步、2 细分、4 细分运行&…

yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的

技术很久不用,就变得生疏起来。对npm深受其害,决定对yarn再整理一遍。 yarn包管理器 介绍安装yarn帮助信息最常用命令 介绍 yarn官网:https://yarn.bootcss.com,学任何技术的最新知识,都可以通过其对应的网站了解。无…

Docker部署Jira、Confluence、Bitbucket、Bamboo、Crowd,Atlassian全家桶

文章目录 省流:注意:解决方案: 1.docker-compose文件2.其他服务都正常启动,唯独Bitbucket不行。日志错误刚启动时候重启后查询分析原因再针对第一点排查看样子是安装的bitbucket和系统环境有冲突问题? 结论&#xff1a…

晶圆表面缺陷检测现状概述

背景: 晶圆表面缺陷检测设备主要检测晶圆外观呈现出来的缺陷,损伤、毛刺等缺陷,主要设备供应商KLA,AMAT,日立等,其中KLA在晶圆表面检测设备占有市场52%左右。 检测设备分类: 电子束设备和光学…

MAC iterm 显示git分支名

要在Mac上的iTerm中显示Git分支名,您需要使用一个名为“Oh My Zsh”的插件。Oh My Zsh是一个流行的Zsh框架,它提供了许多有用的功能和插件,包括在终端中显示Git分支名。 以下是在iTerm中显示Git分支名的步骤: 1、安装Oh My Zsh&…

系统架构11 - 数据库基础(上)

数据库基础 数据库基本概念概述三级模式、两级映像概念模式外模式内模式二级映像逻辑独立性物理独立性 数据库设计需求分析概念结构设计逻辑结构设计物理设计数据库实施阶段据库运行和维护阶段 数据模型E-R模型关系模型模型转换E-R图的联系 关系代数 数据库基本概念 概述 数据…

可持续技术:2024 年技术趋势的绿色创新

随着我们步入2024年,对可持续技术解决方案的关注从未如此强烈。从可再生能源到环保小工具,科技行业正朝着更环保、更可持续的未来大步迈进。 在快速发展的技术领域,创新是推动我们走向可持续未来的动力。随着我们步入2024年,对可持…

高效工作法:占位图片生成工具助力项目快速迭代

在现代设计和开发项目中,图片资源的重要性不言而喻。然而,项目中经常会遇到寻找合适图片、调整图片尺寸和格式等问题,这些问题不仅耗时耗力,还可能影响到项目的进度和质量。此时,占位图片生成工具应运而生,…

【开源】基于JAVA语言的网上药店系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-9 可观测性与分离原理

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-9 可观测性与分离原理

安卓之图表库的应用场景、技术实现及其优劣分析

一、引言 在移动应用开发中,数据可视化对于提供直观信息、帮助用户理解数据至关重要。安卓平台上的图表库为开发者提供了一系列工具和组件,使他们能够轻松地创建各种类型的图表,如线型图、柱状图、蜡烛图、气泡图、饼状图、雷达图以及散点图等…

适配器模式介绍

目录 一、适配器模式介绍 1.1 适配器模式定义 1.2 适配器模式原理 1.2.1 适配器模式类图 1.2.2 模式角色说明 二、适配器模式的应用 2.1 类适配器模式 2.1.1 需求说明 2.1.2 需求实现 2.1.2.1 类图 2.1.2.2 具体实现 2.1.2.2.1 SDCard接口 2.1.2.2.2 SDCardImpl实现…