初学者必知的微软.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深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业数据挖掘平台哪家好?听听客户的真实反馈

泰迪大数据挖掘企业服务平台让数据创造更大的价值,具有拖曳式、免开发建模、可私有化部署、可提供源代码方便定制、全面培训服务丰富模型参考专业建模人员服务等特点。 听听客户真实反馈: 大数据挖掘企业服务平台包含四大产品服务,分别为&…

数据结构学习 jz40 最小的 k 个数

关键词:排序 快排思想 计数排序 大顶堆 题目:库存管理 III 方法一:sort快排,这种方法绝对过不了面试 方法二:快排思想,只排一半。效率最高 方法三:维护一个大小为cnt的最大堆 方法四&#…

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

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

认识Linux指令之 “tar” 指令

01.tar指令(重要) 打包/解包,不打开它,直接看内容 tar [-cxtzjvf] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令&am…

Webpack 怎么实现按需异步加载模块

要弄懂这个问题,需要先来看关于webpack打包的3个问题。 三个问题 第一个问题 项目中的json文件,如何使用webpack进行处理? 如果我们希望把json文件当做静态配置,例如有如下json文件 {"version": "1.0.0"…

介绍下Redis 的基础数据结构

目录 这周开始学习 Redis,看看Redis是怎么实现的。所以会写一系列关于 Redis的文章。这篇文章关于 Redis 的基础数据。阅读这篇文章你可以了解: 动态字符串(SDS) 链表 字典 三个数据结构 Redis 是怎么实现的。 SDS SDS &#xff…

前端框架前置课Node.js学习(1) fs,path,模块化,CommonJS标准,ECMAScript标准,包

目录 什么是Node.js 定义 作用: 什么是前端工程化 Node.js为何能执行Js fs模块-读写文件 模块 语法: 1.加载fs模块对象 2.写入文件内容 3.读取文件内容 Path模块-路径处理 为什么要使用path模块 语法 URL中的端口号 http模块-创建Web服务 需求 步骤: 案例:浏…

【NI国产替代】NI‑9234,4通道,51.2 kS/s/ch,±5 V,C系列声音与振动输入模块

4通道,51.2 kS/s/ch,5 V,C系列声音与振动输入模块 NI‑9234可以测量来自集成电子压电(IEPE)和非IEPE传感器的信号,例如加速度计、转速计和接近式探针。 NI‑9234还可兼容智能TEDS传感器。\n\nNI‑9234提供了宽动态范围&#xff0c…

开启C++之旅(下):引用、内联函数及现代特性(auto和范围for循环)

上次介绍了:开启C之旅(上):探索命名空间与函数特性(缺省参数和函数重载) 今天就接着进行c入门的知识讲解 文章目录 1.引用1.1引用概念1.2引用特性1.3常引用其他情况 1.4引用使用场景1.4.1做参数1.4.2做返回…

Proxy的使用方法和13种拦截操作

前言 proxy是ES6新推出的方法,功能很强大。属于元编程,也就是修改js本身的一些东西。可以对数组,对象,函数等引用类型的对象进行一些复杂的操作。 其中,大部分人应该最熟悉的莫过于vue3中使用proxy替换了defineProperty,而且还实现了本身defineProperty不能实现的一些东西。 …

在校大学生可以考哪些 ?(38个考证时间表)

这是整理的在校大学生可以考的,有的对报名条件没有要求,有的是高中以上学历,还有一些应届生可以报考的。可以在支付宝搜索【亿鸣证件照】或者微信搜索【随时照】制作这些考证要求的证件照哦 1、教师资格证 2、英语四六级 3、计算机二级 4、普…

JVM实战(19)——JVM调优工具概述

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

代码随想录 Leetcode541. 反转字符串 II

题目&#xff1a; 代码(首刷自解 2024年1月16日&#xff09;&#xff1a; class Solution { public:void reverse(string& s,int left,int right) {char temp;while (left < right) {temp s[left];s[left] s[right];s[right] temp;left;--right;}return;}string rev…

FastDFS 环境搭建及使用详解

文章目录 1、简介1.1 分布式文件系统1.2 FastDFS1.3 FastDFS架构 2、环境搭建2.1 FastDFS安装2.1.1 安装前准备2.1.2 安装包下载2.1.3 安装 libfastcommon2.1.4 安装 libserverframe2.1.5 安装 FastDFS 2.2 FastDFS配置2.2.1 配置tracker2.2.1.1 创建 tracker 工作目录2.2.1.2 …

Android APP开发集成微信登陆流程(手把手新手版)

本文比较适合新手玩家&#xff0c;老玩家就不要看了 昨天整了下微信登陆&#xff0c;乍一看官方文档还有点难懂&#xff01;遂自己整理了下流程&#xff0c;给大家参考参考。 官方文档链接&#xff1a;准备工作 | 微信开放文档微信开发者平台文档https://developers.weixin.q…

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

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

浅谈安科瑞电流表和频率表在冰岛某木制品工厂的的应用

摘要&#xff1a;用户侧配电系统的智能化、精细化、可视化是当下配电管理的必然趋势。针对用户侧的配电进线回路&#xff0c;设计安装智能仪表&#xff0c;再通过设置仪表参数来实时监控各负载回路的工作状态&#xff1b;提高用能安全、提升设备维护效率、降低维护的人工成本、…

分类预测 | Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测

分类预测 | Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测 目录 分类预测 | Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现CS-SVM布谷鸟算法优化支持向量机的数据分类预测。 2.自带数据…

Matlab 使用 DH table 建立的 robot 和实际不符

机器人仿真 想借助 matlab robotics toolbox 来仿真机器人&#xff0c;但是直接输入自己的 DH table 显示出来的 robot 和实际不情况不符。 DH table 建立 robot Build Manipulator Robot Using Kinematic DH Parameters 主要使用 setFixedTransform&#xff0c;DH table 中…

【松叶漫话】来聊聊ChatGPT 和文心一言吧

两大AI助手的较量 在当今信息技术飞速发展的时代&#xff0c;人工智能助手成为我们生活中不可或缺的一部分。ChatGPT和文心一言作为两大代表性的AI助手&#xff0c;在智能回复、语言准确性、知识库丰富度等方面各有千秋。本文将就这两位AI助手的特点进行深入比较&#xff0c;为…