現已釋出!閱讀關於 11 月新增功能和修復的內容。

在容器中除錯 .NET

先決條件

  1. 安裝 .NET SDK,其中包含對附加到 .NET 偵錯程式的支援。使用 .NET SDK 7 或更高版本,您可以選擇不使用 Dockerfile 進行除錯。

  2. 安裝 Visual Studio Code C# 擴充套件,其中包含在 VS Code 中附加到 .NET 偵錯程式的支援。

  3. 僅限 macOS 使用者:在 Docker 首選項中新增 /usr/local/share/dotnet/sdk/NuGetFallbackFolder 作為共享資料夾。

    dockerSharedFolders

演練

  • 如果需要,使用 dotnet new 建立一個 .NET 專案。
  • 在 VS Code 中開啟專案資料夾。
  • (可選)設定一個斷點。

.NET SDK 與 Dockerfile 構建

有兩種方法可以在容器內構建和除錯應用程式:使用 Dockerfile,或者(對於 .NET 7 及更高版本)不使用 Dockerfile。

.NET SDK 容器構建(不使用 Dockerfile 除錯)

此選項支援 Web 專案,並且在 Docker 設定為使用 Linux 容器時可用。

  1. F5 或從執行選單中選擇開始除錯。(如果您在 launch.json 中有任何現有的啟動配置檔案,可以使用 ⌘/ (Windows、Linux Ctrl+/) 將它們註釋掉)
  2. 系統會提示您一個偵錯程式列表。選擇容器:在容器中除錯
  3. 當提示您選擇使用 Dockerfile 構建(使用 Dockerfile)還是使用 .NET SDK 構建(使用 .NET SDK)時,選擇使用 .NET SDK
  4. 如果工作區中有多個專案檔案,請選擇與要除錯的專案關聯的專案檔案。如果構建成功,您的 .NET 應用程式將在容器中執行,並且 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 除錯

  1. 等待直到出現通知,詢問是否要新增除錯所需的資產。選擇

    csharpPrompt

  2. 開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並輸入容器:將 Docker 檔案新增到工作區...。如果您的應用已經容器化,您可以改為執行容器:初始化容器除錯。按照提示操作。

  3. 切換到執行和除錯檢視 (⇧⌘D (Windows、Linux Ctrl+Shift+D))。

  4. 選擇容器:.NET 啟動啟動配置。

  5. 開始除錯!(F5)

執行和除錯支援 SSL 的應用

要啟用 SSL(使用 HTTPS 協議),您需要對配置進行一些更改。

  1. 在 Dockerfile 中,向基礎部分新增 EXPOSE 行以定義 HTTPS / SSL 的單獨埠。為 HTTP 請求保留一個帶有不同埠的單獨 EXPOSE 行。

    FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
    WORKDIR /app
    EXPOSE 5000
    EXPOSE 5001
    
  2. .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 時都提示您從專案檔案列表中進行選擇),您可以按照以下步驟儲存啟動配置檔案

  1. 按照.NET SDK 容器構建中的步驟操作,並保持除錯會話處於活動狀態。

  2. 單擊偵錯程式檢視中的 gear 圖示。

    dockerSharedFolders

  3. 選擇容器:在容器中除錯

  4. 選擇與要除錯的專案關聯的專案檔案

您的專案首選項已儲存,您不再需要在按 F5 時選擇專案檔案

© . This site is unofficial and not affiliated with Microsoft.