如何使用 .NET

已完成

此單元著重在建置應用程式的「技術」層面。 我們將使用 .NET 語言、工具與架構,來概述軟體開發人員用來建置 .NET 應用程式的一般工作流程。

開發人員使用 .NET 建置應用程式的方式

本節描述 .NET 中的應用程式開發工作流程,並包括如何開始在 .NET 中建置應用程式的詳細資料。

設定開發環境

開發人員進行的第一個決策是選取將用來建立應用程式的工具。 換句話說,開發人員需選取「開發環境」。 此決策通常取決於開發人員偏好具備圖形化使用者介面且更視覺化的工作流程,還是幾乎只依賴鍵盤來巡覽開發環境及發出命令的命令列介面。

注意

在此課程模組結尾,您將能找到可協助您開始設定開發環境的連結。 您可以選擇 Visual Studio 2022 或 Visual Studio Code 與 .NET 軟體開發套件 (SDK)。

針對偏好視覺化環境的開發人員,Visual Studio 2022 是最佳選擇。 您可能已經猜到,由於 Visual Studio 2022 的全方位與視覺化本質,您將需要時間、頻寬與磁碟空間來下載並安裝此程式。 不過,有些新手發現其是最簡單的入門方式。 根據網際網路連線的速度而定,安裝可能需要 15 分鐘或更久的時間。

Visual Studio 2022 中的 Visual Studio 安裝程式會透過工作負載的形式來提供選項。 工作負載是架構、程式庫和其他工具的集合,這些項目結合在一起可建置特定的應用程式模型。 根據您在上一個單元中了解到的內容,您想要確保會安裝工作負載,以建置適用於該應用程式模型的新應用程式。

如果您剛開始使用,ASP.NET 和 Web 開發 工作負載會安裝 .NET SDK 和其他 SDK,以使用 .NET 進行 Web 開發。 .NET SDK 包含所有開始撰寫程式碼所需要的程式庫、工具和範本。

如果您偏好命令列環境,則可分別下載並安裝 Visual Studio Code 與 .NET SDK。 對於想要快速入門的初學者,這是最常用的選擇。 下載這兩種工具所需的頻寬比較少。

開始使用

軟體開發專案通常會從一組需求開始。 這些需求會影響對應用程式模型的選擇。 例如,您選擇的應用程式模型可能是 Web、傳統型或行動裝置應用程式,或是背景處理序。

在使用 Visual Studio 2022 或 .NET CLI 時,您通常會從根據專案範本來建立新專案開始。 您可以從許多專案範本中選擇。 專案範本:

  • 根據範本和您定義的專案名稱以產生資料夾和檔案。
  • 新增常用程式庫與應用程式模型架構所需程式庫的參考。
  • 提供必要程式碼,以允許您執行應用程式並查看小型範例,如此便能確認程式碼會編譯。
  • 有時會在程式碼中包含指示。 這些指示會引導您修改範例應用程式,並使其成為您自己的。

在 Visual Studio 2022 中,[新增專案] 對話方塊可協助您透過視覺化方式,從一組已安裝的範本中選擇應用程式模型,或者您可以從許多社群貢獻中進行選擇。 在 .NET CLI 中,您將透過使用 dotnet new 命令來選擇新的專案範本。

建置功能

接下來,您將會開始撰寫應用程式的邏輯。 當您需要執行如下的特殊工作時,將需要新增對程式碼程式庫的參考:

  • 連線至網路資源
  • 存資料庫以儲存或擷取資料
  • 將資料從一種格式轉換成另一種
  • 新增記錄以診斷應用程式的問題

在某些情況下,您想要使用的程式碼程式庫會已經存在於本機硬碟上,因為其已和 .NET SDK 一同安裝。

在其他案例中,開發人員會使用 NuGet 套件管理員下載及建立組件程式庫的參考。 若要擷取這些資源,取決於開發環境,您可以使用 Visual Studio 的 [NuGet 套件管理員] 對話方塊,或者您可以使用 .NET CLI 的命令列介面。

編譯及執行應用程式

當您建置新功能時,系統將會建立自己的程式碼並經常執行。 此工作流程可讓您評估正常運作的項目,以及需要修訂的項目。 視覺化方法與命令列方法都會使用簡單的命令,讓工作流程易於遵循。

當語法未遵循語言的規則時,該程式碼語法即會被視為不正確。 當語法錯誤時,適用於您語言的 .NET 編譯器就會擲回「編譯錯誤」。 在您更正語法問題之前,編譯器將不會繼續執行。

有時可以編譯程式碼,因為該程式碼遵循語法規則,但應用程式的邏輯卻發生問題。 如果邏輯防止 .NET 執行階段執行命令,則程式會「當機」。.NET 執行階段接著會從電腦的記憶體中移除程式。 這些錯誤稱為「執行階段錯誤」或「例外狀況」

提示

幸運的是,您可以透過程式設計的方式,防止使用者看到原始系統錯誤訊息。 透過在教學課程與文件中搜尋「結構化例外狀況處理」來進行深入了解。

某些邏輯錯誤不會造成「當機」。但也不會產生使用者預期的結果。 您只能透過測試應用程式並進行偵錯來補救這些錯誤。

偵錯應用程式

當您建置軟體時,您將會執行應用程式,以判斷其是否符合您的需求與期望。 您可能會在應用程式中找到錯誤 (Bug),但不確定「為何」會發生,或「如何」加以修正。

當您進行偵錯時,會在應用程式執行時加以監看,以了解發生什麼事。 您可以設定中斷點來暫停應用程式,並讓您能夠在程式碼執行時逐行追蹤。 您可以觀察儲存在變數中的值、透過程式碼控制執行中的路徑以略過或重新執行程式碼行、變更變數值等。

視覺化與命令列偵錯工具都可讓您觀察並控制應用程式的執行。 使用此功能來查看應用程式在執行時的運作狀況。

散發應用程式

當應用程式準備好發行時,您會建立組建的 發行版本。 在發行版本中,您會移除偵錯所需的程式碼。 同樣地,在視覺化與命令列工具中,您均能編譯發行版本。

若要執行發行版本,您必須先在目的電腦上安裝 .NET 執行階段。 該電腦將執行您已編譯的 .NET 組件。

.NET 在執行階段的運作方式

當您在目的電腦上安裝應用程式的 .NET 組件與 .NET 執行階段之後,即可執行應用程式。

「.NET 執行階段」就像是可為應用程式提供執行環境的保護罩。 .NET 執行階段:

  • 在程式第一次執行時,將中繼程式碼編譯成二進位格式。 二進位格式是程式執行所在之電腦上的平台與架構 (例如,64 位元 Windows) 特有的。
  • 找出程式的進入點,並以適當的順序開始執行每個指令。
  • 管理電腦資源,例如記憶體與網路存取。 當您聽到 .NET 執行階段「管理記憶體」時,表示其會與作業系統搭配運作,以佈建應用程式的記憶體。 當您的應用程式不再需要儲存於記憶體中的資料時,記憶體回收功能就會將該記憶體釋放回作業系統,而不需來自軟體開發人員的任何指示。
  • 保護使用者的電腦,免於受到具有潛在惡意意圖的軟體所危害。 其也會在應用程式之間提供隔離層。