標簽:好的 讀取 framework 准備 編程 而且 重要 持續集成 strong
最近一两年搞了很多其它事情,.net web方面的基本没做,之前做过几个小的项目零星的学习了些,从.net core 发布后其实都没正真的系统学习过。
就是上手做項目,平時也有關注和看些資料,所以項目寫點業務邏輯還是沒問題的,最近琢磨著重新系統學習下.net。
因为以后不叫.net core统一叫.net x, 所以就从当前稳定版本.net 5 开始吧,反正.net 6 还没正式发布而且也不会对体系进行大改,说不定搞着搞着就到6了,所以标题写成.net 5+。
平時除了工作生活也沒太多空閑時間,對于我來說可能是個漫長的學習過程。熟話說開篇有益嘛,希望不會太監,一是給自己做學習筆記以免遺忘,二是和新同學一起學習,豈不快哉。
我们第一步从.net 开发环境搞起。
首先我们先了解下.net sdk和运行时的概念。
.NET SDK 是一组用于开发和运行 .NET 应用程序的库和工具
SDK 下载包括以下组件:
運行時下載包括以下組件:
這裏要注意[運行時]和[.NET運行時],運行時就是上面包含的那些東西,.NET運行時包含在運行時裏面。
.Net 运行时也就是那个CLR,运行时库就是基类库 (BCL),这些名字确实挺迷惑的,也许我们平时说的.net 运行时≈运行时,但是在理解概念的时候要搞清楚。
.NET CLR 是包含 Windows、macOS 和 Linux 支持的跨平台运行时。 CLR 处理内存分配和管理。 CLR 也是一个虚拟机,不仅可执行应用,还可使用实时 JIT 编译器生成和编译代码。
运行时库也称为框架库或基类库 (BCL)。 这些库为许多常规用途类型和特定于工作负载的类型和实用工具功能提供实现。
你可以看到 SDK 是包含运行时的,SDK还包含了一个重要的东西就是CLI,CLI工具是用于开发、生成、运行和发布 .NET 应用程序的跨平台工具链。
例如如下一行代码命令就是CLI 帮我们干事,在当前目录下创建 C# 控制台应用程序项目:
dotnet new console
簡單點說就是SDK可以讓我們開發程序,運行時讓我們可以運行寫好的程序,當然安裝了SDK就沒必要再裝運行時了。
如果和java做类比,sdk 相当于 jdk,运行时 相当于 jre。
当然我们一般不会用cli开发,因为我们有更好的工具 visual studio。
SDK安裝有兩種方式,第一種是通過工具安裝的時候一起安裝,第二種是自己下載SDK包安裝。
1、使用 Visual Studio 安装
visual studio 2019 下载
不同目标 .NET SDK 版本所需的 Visual Studio 最低版本。
对于.net 5来说则最少需要 visual studio 2019 版本 16.8 。
如果你已安装 Visual Studio,则可以使用以下步骤检查你的版本。
打开 Visual Studio。
选择“帮助” > “Microsoft Visual Studio”。
从“关于”对话框中讀取版本号。
我本地已经安装了visual studio 2019 本来准備通过更新修改vs方式测试安装的。但是我本地环境vs有问题,一直报错。
沒有裝的同學可以直接下載,然後按需選擇功能直接安裝就OK。
捣鼓了下,没办法修复,无法升级。所以最后得重新安装,因为.net 5 最低支持16.8,我的16.7!。
如果没办法卸载vs 使用安装器目录下C:\Program Files (x86)\Microsoft Visual Studio\Installer 运行setup.exe,然后再启动installer安装。
2、下載並手動安裝
.NET 5.0 下载
這是第二種方式,如果你不需要vs的話可以用這種方式,直接下載安裝SDK。
然后就可以使用CLI创建项目了,应该很少人会不使用工具去編程,毕竟没啥理由。
在卸载重装了了Visual Studio 2019 后我们看看创建项目。
创建一个控制台程序,如下图可以看到有两个选项,一个是.net Framework,一个是.net core上运行的。
不知道后面正式版VS2022会不会修改这个名称叫法,毕竟后面不再叫.net core了。
但是我们选了.net core 后可以选择我们的目标框架,如果装了多个版本。
到此我们的.net 5 开发环境就搭建起来了,下一次我们再来探究下.net framwork,.net 5 和 .net standard的概念和区别。
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
標簽:好的 讀取 framework 准備 編程 而且 重要 持續集成 strong
原文地址:https://www.cnblogs.com/SunSpring/p/15047413.html