Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

.NET Core 入門筆記

紀錄 Will 保哥給 C# 開發人員的第一堂 .NET Core 入門的內容筆記,內容介紹詳細,從 .NET 介紹開始說明,

.NET Framework 框架

.NET Framework 大約在西元 2002 年推出 .NET 1.0 版,是一套由微軟主導的軟體開發平台,幫助開發人員可以更快的開發出各式各樣的應用程式,並且確保應用程式可以不受作業系統、CPU 架構等平台限制,在任意環境都可以正確執行。

微軟與其合作夥伴,共同訂製了 Common Language Infrastructure (CLI) 共通語言基礎架構,這是一份開放式的技術規範,讓所有符合 CLI 規範的應用程式,都能夠正常的運作在不同的電腦系統之中,而不用重新撰寫或編譯應用程式。

.NET 可攜式類別庫 (PCL)

我們通常會將常用或是習慣使用的功能撰寫為 Class Library (類別庫),使其產生組件 (Assembly) ,以利重複使用;但由於 .NET Framework 支援的平台時做太多,例如: .NET Framework 、.NET Core 、Mono 、Windows Phone …,所以才出現 PCL ,不過現在除非還有需要使用 Windows PhoneSilverlight 這兩個平台,不然 PCL 已經不需要使用了,直接使用 .NET Standard

.NET Core 2.0

.NET Core 就是微軟最新強調跨平台的的實作(雖然以前也推了一些,但是都不是真正跨平台)

.NET Core 的組成包括

  • 一個 .NET 執行階段 (Runtime)
    提供型別系統、組件載入、記憶體回收機制、原生 Interop 及其他基本服務。

  • 一組 Framework 函式庫 (Framework Libraries)
    提供基礎資料型別 (primitive data types) 與一些好用的應用程式類別與工具類別。

  • 一組 SDK 工具組及語言編譯器
    提供軟體開發過程所需的基礎工具,此工具組可以透過 .NET Core SDK 取得。

  • 一個 dotnet 主程式 ( app host )
    它主要用來啟動與執行 .NET Core 應用程式 ( 例如你可以用 dotnet ConsoleApp1.dll 命令來啟動 .NET Core 應用程式 ),過程中它會自動選取正確的 Runtime,並將 Runtime 裝載到記憶體內,提供 DLL 組件的載入原則,然後啟動應用程式執行。

.NET Core 並不是一套全新的框架,它是一份 .NET Framework 的跨平台實作。

.NET Standard 標準類別庫

.NET Standard 標準類別庫 (簡稱 .NET Standard),說穿了就是一種類別庫的類型;其實就是希望支援所有 .NET 平台能擁有一致的 BCL 基礎類別庫

  • .NET Standard 版本越新,代表你可以使用的 API 就越多
  • .NET Standard 版本越舊,代表你可以支援的平台就越多 ( 相對的可使用的 API 就會減少 )

下表列出所有 .NET Standard 版本和支援的平台:
.net standart version list

工具

.NET Portability Analyzer

Visual Studio 2017 的擴充套件,檢查目前專案是否適合轉換為 .NET Core ,就是檢查是否有使用到不支援的 API
setting

使用方式相當簡單,只要在 solution explore 中,選取要比較的專案,再使用滑鼠右鍵呼叫選單,選取 Analyzer Project Portability
Analyzer Project Portability

NuGetPackageExplorer

安裝方式可以透過 Microsoft Store 直接快速安裝;此工具可以分析 Nuget 上的套件相容性,可以清楚得知,此套件是不是可以運用在 .NET Core 上。

Store Install

相關連結

歡迎關注我的其它發布渠道