Sửa lỗi '.NET Core SDK cannot be found: spawn dotnet ENOENT' trong VS Code

bắt đầu💻 VS Code2026-05-19| Windows, macOS, hoặc Linux; Visual Studio Code với extension C# hoặc C# Dev Kit.

Error Message

The .NET Core SDK cannot be found: Error running dotnet --info: spawn dotnet ENOENT
#dotnet#vscode#csharp#khac-phuc-su-co#omnisharp

Tại sao lỗi này xảy raBạn đã sẵn sàng bắt đầu một dự án C#, nhưng VS Code lại có ý định khác. Thay vì một môi trường làm việc sẵn sàng, một thông báo hiện lên ở góc dưới bên phải thông báo rằng .NET Core SDK bị thiếu. Lỗi hiển thị như sau:

The .NET Core SDK cannot be found: Error running dotnet --info: spawn dotnet ENOENT

Mã lỗi ENOENT khó hiểu này là viết tắt của "Error NO ENTry." Nói một cách đơn giản, VS Code đã cố gắng chạy lệnh dotnet --info để kiểm tra môi trường của bạn nhưng không thể tìm thấy tệp thực thi dotnet ở bất kỳ đâu. Điều này xảy ra ngay cả khi bạn vừa mới hoàn tất cài đặt cách đây năm phút.

Bước 1: Xác minh cài đặt của bạnTrước tiên, hãy kiểm tra xem SDK thực sự có trên máy của bạn hay không. Mở terminal—PowerShell trên Windows hoặc Terminal trên macOS/Linux—và nhập:

dotnet --version

Nếu bạn thấy số phiên bản như 8.0.204 hoặc 6.0.421, SDK đã tồn tại; chỉ là VS Code không nhìn thấy nó. Tuy nhiên, nếu terminal trả về "command not found," bạn cần tải bộ cài đặt từ trang chủ chính thức của Microsoft. Mẹo nhỏ: Tệp tải về bị hỏng là nguyên nhân phổ biến khiến cài đặt thất bại. Tôi thường chạy mã băm SHA-256 của bộ cài đặt qua Hash Generator để so sánh với mã checksum của Microsoft. Việc kiểm tra nhanh trong 30 giây này sẽ giúp bạn tiết kiệm hàng giờ khắc phục sự cố sau này.

Bước 2: Cập nhật PATH của hệ thốngVS Code dựa vào PATH của hệ thống để định vị các công cụ. Nếu bộ cài đặt không cập nhật PATH chính xác, hoặc nếu bạn chưa khởi động lại shell, lệnh dotnet sẽ không được nhận diện trên toàn hệ thống.

Hướng dẫn cho Windows:- Nhấn phím Windows và nhập "Environment Variables".- Chọn Edit the system environment variables.- Nhấp vào Environment Variables ở phía dưới.- Tìm biến Path trong mục System variables và nhấp vào Edit.- Kiểm tra xem có C:\Program Files\dotnet\ chưa. Nếu thiếu, hãy thêm nó vào một cách thủ công.### macOS và Linux:Shell của bạn cần biết nơi chứa tệp thực thi dotnet. Thông thường, đường dẫn là /usr/local/share/dotnet. Hãy kiểm tra tệp .zshrc hoặc .bashrc và đảm bảo đường dẫn đã được export chính xác.

Bước 3: Trỏ trực tiếp Extension đến SDKĐôi khi PATH hệ thống vẫn ổn, nhưng extension C# vẫn "cứng đầu". Bạn có thể bỏ qua việc tìm kiếm tự động bằng cách chỉ định chính xác nơi chứa tệp thực thi cho extension.

  • Nhấn Ctrl + , (hoặc Cmd + , trên Mac) để mở Settings.- Tìm kiếm dotnetPath.- Tìm trường Dotnet: Dotnet Path (hoặc Omnisharp: Dotnet Path).- Nhập đường dẫn đầy đủ đến tệp thực thi của bạn.Trên Windows, sử dụng: C:\Program Files\dotnet\dotnet.exeTrên macOS/Linux, sử dụng: /usr/local/share/dotnet/dotnet

Bước 4: Giải quyết xung đột kiến trúc (Apple Silicon)Người dùng Mac M1, M2 và M3 thường gặp rào cản này do xung đột kiến trúc. Nếu bạn đã cài đặt x64 SDK nhưng đang chạy phiên bản ARM64 của VS Code (hoặc ngược lại), extension có thể gặp khó khăn khi kết nối. Hãy chạy lệnh which dotnet trong terminal. Nếu nó trỏ tới /usr/local/bin/dotnet, hãy đảm bảo rằng bạn không vô tình cài đặt phiên bản Intel của SDK trên máy Mac Silicon của mình.

Bước 5: Khởi động lại hoàn toànCác biến môi trường thường rất khó cập nhật ngay lập tức. Chúng thường không được làm mới cho đến khi tiến trình cha khởi động lại. Đừng chỉ tải lại cửa sổ (reload window); hãy làm theo trình tự sau:

  • Đóng tất cả các cửa sổ VS Code đang mở.- Thoát hoàn toàn ứng dụng terminal.- Khởi động lại VS Code.- Kiểm tra cửa sổ Output (chọn C# hoặc OmniSharp Log từ menu thả xuống) để xác nhận SDK đã được khởi tạo.## Kiểm tra cuối cùngThành công là khi giao diện sạch sẽ và không có thông báo lỗi hiện lên. Để chắc chắn, hãy mở terminal tích hợp trong VS Code và chạy lệnh dotnet --info. Nếu thông tin chi tiết về SDK xuất hiện và IntelliSense bắt đầu gợi ý mã nguồn, bạn đã chính thức khắc phục được lỗi ENOENT.

Tóm tắt nhanh- ENOENT = Thiếu đường dẫn: Đây hầu như luôn là vấn đề về ánh xạ đường dẫn, không phải do SDK bị hỏng.- Bắt buộc phải khởi động lại: Các thiết lập PATH mới hiếm khi có hiệu lực cho đến khi bạn khởi động lại ứng dụng.- Ghi đè thủ công: Khi PATH hệ thống không hoạt động, cài đặt dotnetPath trong VS Code là cứu cánh tốt nhất của bạn.

Related Error Notes