最近一兩年搞了很多其它事情,.net web方面的基本沒做,之前做過幾個小的專案零星的學習了些,從.net core 釋出後其實都沒正真的系統學習過。
就是上手做專案,平時也有關注和看些資料,所以專案寫點業務邏輯還是沒問題的,最近琢磨著重新系統學習下.net。
因為以後不叫.net core統一叫.net x, 所以就從當前穩定版本.net 5 開始吧,反正.net 6 還沒正式釋出而且也不會對體系進行大改,說不定搞著搞著就到6了,所以標題寫成.net 5+。
平時除了工作生活也沒太多空閒時間,對於我來說可能是個漫長的學習過程。熟話說開篇有益嘛,希望不會太監,一是給自己做學習筆記以免遺忘,二是和新同學一起學習,豈不快哉。
我們第一步從.net 開發環境搞起。
.NET SDK 和 執行時
首先我們先了解下.net sdk和執行時的概念。
.NET SDK 是一組用於開發和執行 .NET 應用程式的庫和工具
SDK 下載包括以下元件:
- NET CLI。 可用於本地開發和持續整合指令碼的命令列工具。
- dotnet 驅動程式。 用於執行依賴於框架的應用的 CLI 命令。
- Roslyn 和 F# 程式語言編譯器。
- MSBuild 生成引擎。
- .NET 執行時。 提供型別系統、程式集載入、垃圾回收器、本機互操作和其他基本服務。
- 執行時庫。 提供基後設資料型別和基本實用程式。
- ASP.NET Core 執行時。 為連線 Internet 的應用(如 Web 應用、IoT 應用和移動後端)提供基本服務。
- 桌面執行時。 為 Windows 桌面應用(包括 Windows 窗體和 WPF)提供基本服務。
執行時下載包括以下元件:
- (可選)桌面或 ASP.NET Core 執行時。
- .NET 執行時。 提供型別系統、程式集載入、垃圾回收器、本機互操作和其他基本服務。
- 執行時庫。 提供基後設資料型別和基本實用程式。
- dotnet 驅動程式。 用於執行依賴於框架的應用的 CLI 命令。
這裡要注意[執行時]和[.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安裝有兩種方式,第一種是通過工具安裝的時候一起安裝,第二種是自己下載SDK包安裝。
1、使用 Visual Studio 安裝
不同目標 .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、下載並手動安裝
這是第二種方式,如果你不需要vs的話可以用這種方式,直接下載安裝SDK。
然後就可以使用CLI建立專案了,應該很少人會不使用工具去程式設計,畢竟沒啥理由。
.NET 5 專案建立
在解除安裝重灌了了Visual Studio 2019 後我們看看建立專案。
建立一個控制檯程式,如下圖可以看到有兩個選項,一個是.net Framework,一個是.net core上執行的。
不知道後面正式版VS2022會不會修改這個名稱叫法,畢竟後面不再叫.net core了。
但是我們選了.net core 後可以選擇我們的目標框架,如果裝了多個版本。
到此我們的.net 5 開發環境就搭建起來了,下一次我們再來探究下.net framwork,.net 5 和 .net standard的概念和區別。