注意
這不是這篇文章的最新版本。 如需目前的版本,請參閱 本文的 .NET 9 版本。
警告
不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支持原則。 如需目前的版本,請參閱 本文的 .NET 9 版本。
ASP.NET Core 是用於建置新式 Web 應用程式的跨平台高效能架構。 此 開放原始碼 架構可讓開發人員建立可在 Windows、macOS 和 Linux 上執行的 Web 應用程式、服務和 API。 它專為大規模應用程式開發所建置,可處理任何大小的工作負載,使其成為企業級應用程式的強固選擇。
利用 ASP.NET Core,您可以:
- 建置 Web 應用程式和服務、 Azure IoT(物聯網) 應用程式和行動後端。
- 在 Windows、macOS 和 Linux 上使用您最愛的開發工具。
- 部署到雲端或在內部部署。
- 在 .NET 上執行。
為什麼要選擇 ASP.NET Core?
數以百萬的開發人員使用或已使用 ASP.NET 4.x 來建立 Web 應用程式。 ASP.NET Core 是 ASP.NET 4.x 的重新設計,包括可產生更為精簡且更加模組化架構的架構變更。
ASP.NET Core 提供下列優點:
- 用於建置 Web UI 和 Web API 的統一劇本。
- 可測試性架構。
- Blazor 可讓您在瀏覽器中使用 C# 與 JavaScript。 共用伺服器端與用戶端應用程式邏輯都是以 .NET 撰寫。
- Razor 頁面 可讓以頁面為主的撰寫案例更容易且更具生產力。
- 能夠在 Windows、macOS 和 Linux 上開發並執行。
- 以開放原始碼和 社群為主。
- 整合 現代化、客戶端架構 和開發工作流程。
- 支援使用 gRPC 裝載遠端過程調用 (RPC) 服務。
- 雲端就緒的環境型 組態系統。
- 內建 相依注入。
- 輕量 型、高效能且模組化的 HTTP 要求管線。
- 能夠裝載於下列項目:
- 並行版本管理。
- 可簡化現代網頁程式開發的工具。
使用 ASP.NET Core MVC 建置 Web API 和 Web UI
ASP.NET Core MVC 提供建置 Web API 和 Web 應用程式的功能:
- 模型View-Controller (MVC) 模式可協助測試您的 Web API 和 Web 應用程式。
- Blazor,以 C# 為基礎的元件型 Web UI 架構,可透過 WebAssembly 支援伺服器端轉譯和用戶端轉譯。
- Razor 頁面 是以頁面為基礎的程序設計模型,可讓建置 Web UI 更容易且更具生產力。
- Razor標記為Razor頁面和MVC檢視提供提升效率的語法。
- 標籤協助程式 可讓伺服器端程式代碼參與在檔案中 Razor 建立和轉譯 HTML 元素。
- 多種數據格式和內容交涉的內建支援可讓您的 Web API 觸達各種用戶端,包括瀏覽器和行動裝置。
- 模型系結 會自動將數據從 HTTP 要求對應至動作方法參數。
- 模型驗證 會自動執行客戶端和伺服器端驗證。
用戶端開發
ASP.NET Core 包含 Blazor 用於建置豐富互動式 Web UI,也與 Angular、 React、 Vue 和 Bootstrap 等其他熱門前端 JavaScript 架構整合。 如需詳細資訊,請參閱Blazor下的 ASP.NET Core 和相關主題。
ASP.NET Core 目標架構
ASP.NET Core 3.x 或更新版本只能以 .NET 為目標。
以 .NET 為目標有幾個優點,而這些優點會隨著每個版本的發行而增加。 .NET 相較於 .NET Framework 的一些優點包括:
- 跨平台。 在 Windows、macOS 和 Linux 上執行。
- 提升效能
- 並存版本控制
- 新的 API
- 開放原始碼
建議學習路徑
建議使用下列一系列的教學課程,來取得開發 ASP.NET Core 應用程式的簡介:
遵循您想要開發或維護之應用程式類型的教學課程。
應用程式類型 案例 教學課程 Web 應用程式 用戶端 Web UI 開發 開始使用 Blazor Web 應用程式 新的伺服器端 Web UI 開發 開始使用 Razor Pages Web 應用程式 維護 MVC 應用程式 開始使用MVC 網路應用程式介面 RESTful HTTP 服務 建立 Web API† 遠端程序呼叫應用程式 使用通訊協定緩衝區的合約優先服務 開始使用 gRPC 服務 即時應用程式 伺服器與已連線用戶端之間的雙向通訊 開始使用 SignalR 遵循顯示如何進行基本資料存取的教學課程。
案例 教學課程 新的開發 Blazor 使用 Entity Framework Core 新的開發 Razor 具有 Entity Framework Core 的頁面 維護 MVC 應用程式 具有 Entity Framework Core 的 MVC 閱讀適用於所有應用程式類型的 ASP.NET 核心 基本概念 概觀。
瀏覽其他感興趣主題的目錄。
†另外還有 互動式 Web API 教學課程。 不需要本機安裝開發工具。 程序代碼會在瀏覽器中的 Azure Cloud Shell 中執行, 而 curl 則用於測試。
從 .NET Framework 移轉
如需將 ASP.NET 4.x 應用程式移轉至 ASP.NET Core 的參考指南,請參閱 從 ASP.NET Framework 遷移至 ASP.NET Core。
ASP.NET Core 是一種跨平臺、高效能、 開放原始 碼的架構,可用於建置現代化、已啟用雲端且連線因特網的應用程式。 利用 ASP.NET Core,您可以:
- 建置 Web 應用程式和服務、 Azure IoT(物聯網) 應用程式和行動後端。
- 在 Windows、macOS 和 Linux 上使用您最愛的開發工具。
- 部署到雲端或在內部部署。
- 在 .NET Core 或 .NET Framework 上執行。
為什麼要選擇 ASP.NET Core?
數以百萬的開發人員使用或已使用 ASP.NET 4.x 來建立 Web 應用程式。 ASP.NET Core 是 ASP.NET 4.x 的重新設計,其架構變更可產生更為精簡且更加模組化的架構。
ASP.NET Core 提供下列優點:
- 用於建置 Web UI 和 Web API 的統一劇本。
- 可測試性架構。
- Blazor 可讓您在瀏覽器中使用 C# 與 JavaScript。 共用伺服器端與用戶端應用程式邏輯都是以 .NET 撰寫。
- Razor 頁面 可讓以頁面為主的撰寫案例更容易且更具生產力。
- 能夠在 Windows、macOS 和 Linux 上開發並執行。
- 以開放原始碼和 社群為主。
- 整合 現代化、客戶端架構 和開發工作流程。
- 支援使用 gRPC 裝載遠端過程調用 (RPC) 服務。
- 雲端就緒的環境型 組態系統。
- 內建 相依注入。
- 輕量 型、高效能且模組化的 HTTP 要求管線。
- 能夠裝載於下列項目:
- 並行版本管理。
- 可簡化現代網頁程式開發的工具。
使用 ASP.NET Core MVC 建置 Web API 和 Web UI
ASP.NET Core MVC 提供建置 Web API 和 Web 應用程式的功能:
- 模型View-Controller (MVC) 模式可協助測試您的 Web API 和 Web 應用程式。
- Razor 頁面 是以頁面為基礎的程序設計模型,可讓建置 Web UI 更容易且更具生產力。
- Razor標記為Razor頁面和MVC檢視提供提升效率的語法。
- 標籤協助程式 可讓伺服器端程式代碼參與在檔案中 Razor 建立和轉譯 HTML 元素。
- 多種數據格式和內容交涉的內建支援可讓您的 Web API 觸達各種用戶端,包括瀏覽器和行動裝置。
- 模型系結 會自動將數據從 HTTP 要求對應至動作方法參數。
- 模型驗證 會自動執行客戶端和伺服器端驗證。
用戶端開發
ASP.NET Core 與熱門的用戶端架構和連結庫緊密整合,包括 Blazor、 Angular、 React、 Vue 和 Bootstrap。 如需詳細資訊,請參閱Blazor下的 ASP.NET Core 和相關主題。
將目標指向 .NET Framework 的 ASP.NET Core
ASP.NET Core 2.x 的目標可以是 NET Core 或 .NET Framework。 以 .NET Framework 為目標的 ASP.NET Core 應用程式無法跨平台,只能在 Windows 上執行。 一般而言,ASP.NET Core 2.x 是由 .NET Standard 連結庫所組成。 使用 .NET Standard 2.0 撰寫的連結庫會在 任何實作 .NET Standard 2.0 的 .NET 平台上執行。
實作 .NET Standard 2.0 的 .NET Framework 版本支援 ASP.NET Core 2.x:
- 建議使用 .NET Framework 最新版本。
- .NET Framework 4.6.1 或更新版本。
ASP.NET Core 3.0 或更新版本只能在 .NET Core 上執行。 如需此變更的詳細資訊,請參閱 第一次查看 ASP.NET Core 3.0 中的變更。
將目標指向 .NET Core 有多個好處,而這些好處也隨著版本更新越來越多。 NET Core 較 .NET Framework 多的好處包含:
- 跨平台。 可在 macOS、Linux 及 Windows 上執行。
- 提升效能
- 並存版本控制
- 新的 API
- 開放原始碼
為了協助縮小從 .NET Framework 到 .NET Core 的 API 差距, Windows 相容性套件 在 .NET Core 中提供了數千個僅限 Windows 的 API。 這些 API 並不適用於 .NET Core 1.x。
建議學習路徑
我們建議遵循一系列的教學課程和文章,取得開發 ASP.NET Core 應用程式的簡介:
遵循您想要開發或維護之應用程式類型的教學課程。
應用程式類型 案例 教學課程 Web 應用程式 針對全新開發 開始使用 Razor Pages Web 應用程式 針對維護 MVC 應用程式 開始使用MVC 網路應用程式介面 建立 Web API† 即時應用程式 開始使用 SignalR 遵循顯示如何進行基本資料存取的教學課程。
案例 教學課程 針對全新開發 Razor 具有 Entity Framework Core 的頁面 針對維護 MVC 應用程式 具有 Entity Framework Core 的 MVC 閱讀適用於所有應用程式類型的 ASP.NET 核心 基本概念 概觀。
瀏覽其他您感興趣主題的目錄。
在瀏覽器中完全遵循的Web API教學課程,也不需要本機IDE安裝。 程序代碼會在 Azure Cloud Shell 中執行, 而 curl 則用於測試。
從 .NET Framework 移轉
如需將 ASP.NET 應用程式移轉至 ASP.NET Core 的參考指南,請參閱 從 ASP.NET Framework 移轉至 ASP.NET Core。
如何下載範例
許多文章及教學課程都有包含範例程式碼的連結。
- 下載 ASP.NET 存放庫 zip 檔案。
- 將
AspNetCore.Docs-main.zip
檔案解壓縮。 - 若要存取已解壓縮存放庫中的文章範例應用程式,請使用文章範例連結中的 URL 來協助您導覽至範例的資料夾。 通常,文章的範例連結會出現在文章頂端,其中包含連結文字 檢視或下載範例程序代碼。
範例程式碼中的前置處理器指示詞
為了示範多種案例,範例應用程式使用 #define
和 #if-#else/#elif-#endif
前置處理器指示詞,來選擇性地編譯和執行範例程式碼的不同區段。 針對利用此方式的範例,請設定 C# 檔案頂端的 #define
指示詞,以定義您想要執行之案例的相關聯符號。 部分範例會要求在多個檔案的頂端設定符號,以執行案例。
例如下列 #define
符號清單指出其提供四個情節 (每個符號一個情節)。 目前的範例設定會執行 TemplateCode
情節:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
若要變更此範例,以執行 ExpandDefault
情節,請定義 ExpandDefault
符號,並將剩餘的符號設為註解:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
如需使用 C# 預處理器指示 詞選擇性編譯程式代碼區段的詳細資訊,請參閱 #define (C# 參考) 和 #if (C# 參考) 。
中斷性變更和安全性諮詢
重大更動和安全公告會在公告存放庫上報告。 選取 [標籤] 篩選,以將公告限制為特定版本。
下一步
如需詳細資訊,請參閱以下資源:
- 開始使用 Blazor
- 開始使用 ASP.NET Core
- 使用 Visual Studio 將 ASP.NET Core 應用程式發佈至 Azure
- ASP.NET 核心基本概念
- 每周的 ASP.NET 社群例會 涵蓋團隊的進度和計劃。 並提供新的部落格和協力廠商軟體。