在容器中偵錯 .NET
先決條件
-
安裝 .NET SDK,其中包含連接至 .NET 偵錯工具的支援。使用 .NET SDK 7 或更新版本,您可以選擇在沒有 Dockerfile 的情況下進行偵錯。
-
安裝 Visual Studio Code C# 擴充功能,其中包含使用 VS Code 連接至 .NET 偵錯工具的支援。
-
僅限 macOS 使用者:在您的 Docker 偏好設定中,將
/usr/local/share/dotnet/sdk/NuGetFallbackFolder
新增為共用資料夾。
逐步解說
- 如果需要,請使用
dotnet new
建立 .NET 專案。 - 在 VS Code 中開啟專案資料夾。
- (選擇性) 設定中斷點。
.NET SDK 與 Dockerfile 建置
有兩種方法可在容器內建置和偵錯您的應用程式:使用 Dockerfile,或者對於 .NET 7 和更新版本,則不使用 Dockerfile。
.NET SDK 容器建置 (不使用 Dockerfile
進行偵錯)
此選項支援 Web 專案,並且在 Docker 設定為使用 Linux 容器時可用。
- 按下 F5 鍵,或從 [執行] 功能表中選擇 [開始偵錯]。(如果您在
launch.json
中有任何現有的啟動設定檔,您可以使用 ⌘/ (Windows、Linux Ctrl+/) 將其註解掉) - 系統會提示您顯示偵錯工具清單。選擇 [Docker: 在容器中偵錯]
- 當系統提示您選擇使用 Dockerfile 建置 (使用 Dockerfile) 或使用 .NET SDK 建置 (使用 .NET SDK) 時,請選取 [使用 .NET SDK]。
- 如果您的工作區中有多個專案檔案,請選擇與您想要偵錯的專案相關聯的專案檔案。如果建置成功,您的 .NET 應用程式會在 Docker 容器中執行,而 Web 應用程式會在您的瀏覽器中開啟。
注意:支援的 .NET SDK 版本:此功能預設適用於 .NET SDK 7.0.300 及更高版本。對於 7.0.100 到 7.0.300 之間的版本,請使用
dotnet add package Microsoft.NET.Build.Containers
啟用它。您可以在 Microsoft Learn 上閱讀有關 .NET SDK 容器建置的詳細資訊。
使用 Dockerfile
偵錯
-
等待通知出現,詢問您是否要新增偵錯所需的資產。選取 [是]
-
開啟 [命令選擇區] (⇧⌘P (Windows、Linux Ctrl+Shift+P)),然後輸入 **Docker: 將 Docker 檔案新增至工作區...**。如果您已將應用程式 Docker 化,則可以改為執行 **Docker: 初始化以進行 Docker 偵錯**。依照提示操作。
-
切換至 [執行與偵錯] 檢視 (⇧⌘D (Windows、Linux Ctrl+Shift+D))。
-
選取 [Docker .NET Core 啟動] 啟動組態。
-
開始偵錯!(F5)
執行和偵錯並支援 SSL
若要啟用 SSL (使用 HTTPS 通訊協定),您需要對設定進行一些變更。
-
在 Dockerfile 中,將
EXPOSE
行新增至基礎區段,以定義 HTTPS/SSL 的個別埠。保留個別的EXPOSE
行,並為 HTTP 要求使用不同的埠。FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base WORKDIR /app EXPOSE 5000 EXPOSE 5001
-
在
.vscode/tasks.json
檔案中,將configureSsl: true
新增至netCore
區段。此外,在docker-run: debug
工作的dockerRun
區段中新增環境變數ASPNETCORE_URLS
,並使用您在 Dockerfile 中定義的相同埠號。dockerRun: { "env": { "ASPNETCORE_URLS": "https://+:5001;http://+:5000" } } netCore: { "appProject": "${workspacefolder}/MyProject.csproj", "enableDebugging": true, "configureSsl": true }
如需其他自訂選項,請參閱關於 工作 和 偵錯容器化應用程式 的文件。
儲存 .NET SDK 容器建置的專案檔案偏好設定
如果您的工作區資料夾有多個 .NET 專案檔案,而且您想要專門偵錯一個特定專案 (而不會在每次按下 F5 鍵時都提示您從專案檔案清單中選擇),您可以依照下列步驟儲存您的啟動設定檔
-
依照 .NET SDK 容器建置 中的步驟操作,並保持偵錯工作階段運作。
-
按一下偵錯工具檢視中的
齒輪
圖示。 -
選取 [Docker: 在容器中偵錯]
-
選擇與您想要偵錯的專案相關聯的專案檔案
您的專案偏好設定已儲存,您不再需要在按下 F5 鍵時選擇專案檔案