Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Use C# Dev Kit selected workspace dotnet host for debugger prerequisite checks

Đang mở
#9,732 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@JakeRadMSFT đang làm issue này rồi.

Từ ngày 4/9/2026.

  • #9733 của @JakeRadMSFT — đang mở
  • #9820 của @emaf — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
52/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp, typescript, vscode

Hướng nghiên cứu

Bắt đầu với src/coreclrDebug/util.ts và checkDotNetCli(), sau đó lần theo src/coreclrDebug/activate.ts và showDotnetToolsWarning(), cùng với các tệp discovery và export của C# Dev Kit. Tái hiện trường hợp kích hoạt Remote SSH và xác minh rằng C# sử dụng workspace host đã chọn, ngăn chặn remediation trùng lặp trong khi bị chặn, đồng thời duy trì hành vi độc lập khi Dev Kit không tồn tại hoặc bị bỏ qua.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Debugger untriaged
Problem

When C# Dev Kit owns workspace SDK selection through Workspace Requirements, the C# extension still independently runs dotnet --info against its own configured paths/ambient PATH during debugger activation.

In a Remote SSH Linux workspace with no ambient dotnet on PATH, this produces two competing remediations at once:

  • C# Dev Kit opens Workspace Requirements with Install .NET 10 SDK.
  • The C# extension shows The .NET SDK cannot be located with Get the SDK.

The C# notification is especially confusing because its Get the SDK action already delegates to csdevkit.installDotnetSdk when C# Dev Kit is present, while the prerequisite check that raised it did not use C# Dev Kit's selected host or blocked state.

Observed with:

  • C# Dev Kit 9.9.554-g91f1bb
  • C# 2.140.9
  • VS Code Remote SSH to Ubuntu 24.04 x64
  • no ambient dotnet on the remote PATH

Relevant current code:

  • src/coreclrDebug/util.ts: checkDotNetCli() runs dotnet --info using C# extension paths.
  • src/coreclrDebug/activate.ts: showDotnetToolsWarning() routes Get the SDK to csdevkit.installDotnetSdk when Dev Kit is present.
  • src/utils/getCSharpDevKit.ts and src/csharpDevKitExports.ts: C# already discovers and consumes C# Dev Kit exports, but there is no selected workspace host/readiness contract.
Expected behavior

C# Dev Kit should be the single SDK/host authority when it is active and dotnet.preferCSharpExtension is not selected:

  1. C# obtains the exact workspace dotnet executable and environment selected by C# Dev Kit before debugger prerequisite checks.
  2. If Workspace Requirements is blocked and has opened its remediation UI, C# does not show a second SDK-install notification.
  3. After the user installs or selects the SDK and reloads, both extensions use the same host.
  4. When C# Dev Kit is absent or explicitly bypassed, C# retains its current standalone discovery and notification behavior.

A minimal contract could be an optional C# Dev Kit export returning { status: ready | blocked, dotnetPath?, environment? }. Because workspace host changes are already reload-bound, this does not require live language-server/debugger host switching.

Related
  • microsoft/vscode-dotnettools#1243
  • microsoft/vscode-dotnettools#792
  • dotnet/vscode-csharp#6620
Ngôn ngữ chính
TypeScript
Star
3.1k
Fork
741
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
59

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dotnet/vscode-csharp

Tất cả issue của dotnet/vscode-csharp

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.