Use C# Dev Kit selected workspace dotnet host for debugger prerequisite checks
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.
Đá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
- Lĩnh vực
- developer-experience, devtools
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ả
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
dotneton the remotePATH
Relevant current code:
src/coreclrDebug/util.ts:checkDotNetCli()runsdotnet --infousing C# extension paths.src/coreclrDebug/activate.ts:showDotnetToolsWarning()routes Get the SDK tocsdevkit.installDotnetSdkwhen Dev Kit is present.src/utils/getCSharpDevKit.tsandsrc/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:
- C# obtains the exact workspace
dotnetexecutable and environment selected by C# Dev Kit before debugger prerequisite checks. - If Workspace Requirements is blocked and has opened its remediation UI, C# does not show a second SDK-install notification.
- After the user installs or selects the SDK and reloads, both extensions use the same host.
- 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
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.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của dotnet/vscode-csharp
-
Remove temporary .NET 11 CI container digest pinCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởInfrastructure Test
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
dotnet/vscode-csharp#9791 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
C# extension crach in VS CodeĐang mởuntriaged
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
dotnet/vscode-csharp#9940 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug C#DK
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
dotnet/vscode-csharp#9910 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
aĐang mởC#DK untriaged
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 25/100
dotnet/vscode-csharp#9901 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Debugger untriaged
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
dotnet/vscode-csharp#9891 · 9 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của dotnet/vscode-csharp
Issue tương tự
-
area:cli bug P4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug from-studio
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
esengine/DeepSeek-Reasonix#14868 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
linxiv-dev/linXiv#384 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
scope:core type:security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
follow-redirects updateĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
mailgun/mailgun.js#544 ·