訓練
學習路徑
.NET 是免費、跨平台且開放原始碼的開發人員平台,可用來建置許多不同類型的應用程式。 您可以透過 .NET 使用多種語言、編輯器及程式庫,為 Web、行動裝置、桌面、遊戲及 IoT 進行建置。
本文將介紹 macOS 支援哪些版本的 .NET、如何安裝 .NET,以及 SDK 和執行階段的差異。
最新版的 .NET 為 9。
下表列出了支援的 .NET 版本以及支援它們的 macOS。 這些版本將繼續受到支援,直到 .NET 版本達到支援終止或 macOS 版本不再受支援。
macOS 版本 | .NET |
---|---|
macOS 15 "Sequoia" | 9.0, 8.0 |
macOS 14 "Sonoma" | 9.0, 8.0 |
macOS 13 "Ventura" | 9.0, 8.0 |
已不再支援以下版本的 .NET❌:
執行階段可用於執行使用.NET 建立的應用程式。 當應用程式作者發佈應用程式時,他們可以將執行階段包含在其應用程式中。 如果它們不包含執行階段,則由使用者安裝正確的執行階段。
您可以在 macOS 上安裝兩個執行階段,這兩者都包含在 SDK 中。
ASP.NET Core Runtime
執行 ASP.NET Core 應用程式。 包含 .NET 執行階段。 不可作為安裝程式使用。
.NET 執行階段
這可以執行普通的 .NET 應用程式,但不能執行專用應用程式,例如以 ASP.NET Core 為基礎建立的應用程式。
該 SDK 用於建置和發布 .NET 應用程式和程式庫。 最新的 SDK 支援為舊版本的 .NET 建立應用程式。 一般情況下,您只需要安裝最新的 SDK。
安裝 SDK 包括標準 .NET 執行階段和 ASP.NET Core 執行階段。 例如,如果您已安裝 .NET SDK 9.0,則會安裝 .NET Runtime 9.0 和 ASP.NET Core 9.0 Runtime。 但是,任何其他執行階段版本都不會與 SDK 一起安裝,並且需要您單獨安裝。
.NET 有多種安裝方法,某些產品可能會管理它們自己的 .NET 版本。 如果您透過管理自己版本的 .NET 的軟體安裝 .NET,則可能無法在全系統範圍內啟用。 請務必了解透過其他軟體安裝 .NET 的影響。
如果在查看以下部分中的清單後不確定應選擇哪種方法,您可能需要使用 .NET 安裝程式套件。
安裝適用於 Visual Studio Code 的 C# 開發套件延伸模組,以開發 .NET 應用程式。 此擴充功能可以使用已安裝的 SDK,也可以為您安裝 SDK。
使用獨立的安裝程式安裝 .NET。 這是在開發人員或使用者電腦上安裝 .NET 的典型方法。
可以自動安裝 SDK 或執行階段的 bash 指令碼。 您可以選擇要安裝的 .NET 版本。
當您需要將 .NET 安裝到特定資料夾,並將其與其他版本的 .NET 分開執行時,請使用此安裝方法。
安裝程式套件可用於 macOS,這是一種簡便的 .NET 安裝方式。
開啟瀏覽器並巡覽至 https://dotnet.microsoft.com/download/dotnet。
選擇要安裝 .NET 版本的連結,例如 .NET 8.0。
此連結將帶您進入該版本 .NET 的下載連結頁面
如果您要安裝 SDK,請選擇最新的 .NET 版本。 SDK 支援為舊版本的 .NET 建立應用程式。
提示
如果您不確定要下載哪個版本,請選擇標記為最新的版本。
此頁面提供 SDK 和執行階段的下載連結。 您可以在此下載 .NET SDK 或 .NET 執行階段。
在前面的圖片中,醒目顯示了兩個區段。 如果您要下載 SDK,請參閱第 1 區段。 如果要下載 .NET 執行階段,請參閱第 2 區段。
第 1 區段 (SDK)
此區段為 SDK 下載區。 在 macOS 行的安裝程式列下,列出了兩種架構:Arm64 和 x64。
第 2 區段 (執行階段)
本區段包含執行階段下載。 請注意,macOS 行中「安裝程式」列的連結是空的! 此區段是空的,因為 ASP.NET Core 執行階段僅在 SDK 中提供,或透過二進位安裝提供。
向下捲動以找到可供下載的標準 .NET 執行階段。
下載完成後,將其開啟。
請依照安裝程式中的步驟操作。
作為 macOS 安裝程式的替代方案,您可以下載並手動安裝 SDK 和執行階段。 在持續整合情境中,手動安裝通常會作為自動化的一部分執行。 開發人員和使用者通常會希望使用安裝程式。
提示
使用 install-dotnet.sh 指令碼來自動執行這些步驟。
開啟瀏覽器並巡覽至 https://dotnet.microsoft.com/download/dotnet。
選擇要安裝 .NET 版本的連結,例如 .NET 8.0。
此連結將帶您進入該版本 .NET 的下載連結頁面
如果您要安裝 SDK,請選擇最新的 .NET 版本。 SDK 支援為舊版本的 .NET 建立應用程式。
提示
如果您不確定要下載哪個版本,請選擇標記為最新的版本。
選擇您要安裝的 SDK 或執行階段的連結。 在 macOS 行中尋找「二進位檔案」列。
打開終端機,然後瀏覽到 .NET 二進位檔下載的位置。
將 tarball 解壓縮到您希望在系統上安裝 .NET 的位置。 以下範例使用 HOME 目錄 ~/Applications/.dotnet
。
mkdir -p ~/Applications/.dotnet
tar -xf "dotnet-sdk-9.0.100-rc.2.24474.11-osx-arm64.tar" -C ~/Applications/.dotnet/
將目錄變更為 .NET 的安裝位置來測試 .NET 是否正常運作,然後執行 dotnet --info
命令:
chdir ~/Applications/.dotnet/
./dotnet --info
dotnet-install 指令碼可用於進行執行階段的自動化和無提升權限的安裝。 您可以從 https://dot.net/v1/dotnet-install.sh 下載指令碼。
根據預設,此指令碼會安裝最新的長期支援 (LTS) 版本 (亦即 .NET 8)。 您可以透過指定 channel
參數來選擇特定版本。 包含 runtime
參數以安裝執行階段。 否則,指令碼會安裝 SDK。
提示
這些命令在本程序結尾處提供了一段指令碼片段。
開啟終端機。
瀏覽至要下載指令碼的資料夾,例如 ~/Downloads。
如果沒有 wget
命令,請使用 Brew 進行安裝
brew install wget
執行以下命令來下載指令碼:
wget https://dot.net/v1/dotnet-install.sh
授與指令碼執行權限
chmod +x dotnet-install.sh
執行指令碼來安裝 .NET。
該指令碼預設將最新的 SDK 安裝到 ~/.dotnet
目錄。
./dotnet-install.sh
以下是單一 bash 指令碼中的所有命令:
chdir ~/Downloads
brew install wget
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh
透過瀏覽到 ~/.dotnet
資料夾並執行 dotnet --info
命令來測試 .NET:
chdir ~/.dotnet
./dotnet --info
重要
某些程式可能會使用環境變數在系統上尋找 .NET,而使用 dotnet
命令在打開新終端機時可能無法正常運作。 如需解決此問題的說明,請參閱「使 .NET 在全系統範圍內可用」區段。
Visual Studio Code 是一個功能強大的輕量型原始程式碼編輯器,其會在您的桌面上執行。 Visual Studio Code 可以使用您系統上已安裝的 SDK。 此外,C# Dev Kit 擴充功能將為您安裝 .NET (如果尚未安裝)。
有關透過 Visual Studio Code 安裝 .NET 的說明,請參閱「在 VS Code 中開始使用 C#」。
使用開發者 ID 分發的為 macOS 建立的軟體必須經過公證,包括使用 .NET 製作的應用程式。
如果您執行未經公證的應用程式,則會顯示類似下圖的錯誤視窗:
如需強制進行公證會對 .NET (和您的 .NET 應用程式) 產生何種影響的詳細資訊,請參閱使用 macOS Catalina 公證。
下載安裝程式或二進位版本後,請加以驗證以確認檔案未變更或損毀。 您可以驗證電腦上的總和檢查碼,然後將它與下載網站上所報告的內容進行比較。
當您從官方下載頁面下載檔案時,檔案的總和檢查碼將顯示在文字方塊中。 選取 [複製] 按鈕,將總和檢查碼值複製到剪貼簿。
使用 sha512sum
命令來顯示您已下載之檔案的總和檢查碼。 例如,下列命令會回報 dotnet-sdk-8.0.100-linux-x64.tar.gz 檔案的總和檢查碼:
$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5 dotnet-sdk-8.0.100-linux-x64.tar.gz
將該總和檢查碼與下載網站所提供的值進行比較。
重要
儘管這些範例中顯示的是 Linux 文件,但此資訊同樣適用於 macOS。
.NET 版本資訊包含可用來驗證您下載檔案之總和檢查碼檔案的連結。 下列步驟描述如何下載總和檢查碼檔案,並驗證 .NET 安裝二進位檔:
位於 https://github.com/dotnet/core/tree/main/release-notes/8.0#releases 的 GitHub 上的 .NET 8 版本資訊頁面包含名為版本的章節。 該章節中的資料表可連結至每個 .NET 8 版本的下載和總和檢查碼檔案:
選取您下載的 .NET 版本的連結。
上一節使用了 .NET SDK 8.0.100,其位於 .NET 8.0.0 版本中。
您可以在發行頁面中看到 .NET 執行階段和 .NET SDK 版本,以及前往總和檢查碼檔案的連結:
以滑鼠右鍵按一下「總和檢查碼」連結,然後將該連結複製到剪貼簿。
開啟終端機。
使用 curl -O {link}
下載總和檢查碼檔案。
將以下命令中的連結替換為您複製的連結。
curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
有了總和檢查碼檔案和下載至相同目錄的 .NET 版本檔案後,請使用 sha512sum -c {file} --ignore-missing
命令來驗證下載的檔案。
驗證通過時,您會看到顯示 [確定] 狀態的檔案:
$ sha512sum -c 8.0.0-sha.txt --ignore-missing
dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
如果您看到檔案標示為 [失敗],則下載的檔案無效且不應加以使用。
$ sha512sum -c 8.0.0-sha.txt --ignore-missing
dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
sha512sum: WARNING: 1 computed checksum did NOT match
sha512sum: 8.0.0-sha.txt: no file was verified
下列各節描述在 Arm 型 Mac 上安裝 .NET 時應考慮的事項。
在 Arm 型 Mac 上,所有 Arm64 版本的 .NET 都會安裝到一般 /usr/local/share/dotnet/ 資料夾。 不過,當您安裝 x64 版的 .NET SDK 時,會將其安裝到 /usr/local/share/dotnet/x64/dotnet/ 資料夾。
如果您已同時安裝 x64 和 Arm64 版的 .NET SDK,則可能需要變更將 .NET 新增至系統路徑的環境變數 (例如 PATH
變數)。 此外,某些工具依賴 DOTNET_ROOT
環境變數,它們也需要更新才能指向適當的 .NET SDK 安裝資料夾。
以下各區段可協助解決問題:
有時,系統上的應用程式 (包括終端機) 需要尋找 .NET 的安裝位置。 .NET macOS 安裝程式套件應自動設定您的系統。 但是,如果您使用手動安裝方法或 .NET 安裝指令碼,則必須將安裝 .NET 的目錄新增至 PATH
變數。
某些應用程式在嘗試確定 .NET 的安裝位置時,可能會尋找 DOTNET_ROOT
變數。
有許多不同殼層可供 macOS 使用,且每個殼層都有不同的設定檔。 例如:
在殼層設定檔中設定下列兩個環境變數:
DOTNET_ROOT
此變數是設定至已安裝 .NET 的資料夾,例如 $HOME/.dotnet
:
export DOTNET_ROOT=$HOME/.dotnet
PATH
此變數應同時包含 DOTNET_ROOT
資料夾和 DOTNET_ROOT/tools
資料夾:
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
使用 System.Drawing.Common
程式集的.NET應用程式需要安裝 libgdiplus
。
取得 libgdiplus
的一個簡單方法是使用 macOS 的 Homebrew ("brew") 套件管理員。 安裝 brew 後,在終端機中執行以下命令以安裝 libgdiplus
:
brew update
brew install mono-libgdiplus
訓練
學習路徑
.NET 是免費、跨平台且開放原始碼的開發人員平台,可用來建置許多不同類型的應用程式。 您可以透過 .NET 使用多種語言、編輯器及程式庫,為 Web、行動裝置、桌面、遊戲及 IoT 進行建置。