Sửa lỗi NETSDK1045: .NET SDK hiện tại không hỗ trợ mục tiêu .NET 8.0 trên Windows

beginner🪟 Windows2026-05-25| Windows 10/11, Visual Studio 2022, .NET SDK, MSBuild

Error Message

error NETSDK1045: The current .NET SDK does not support targeting .NET 8.0.
#dotnet#sdk#visual-studio#msbuild#csproj

Vấn đề

Khi cố gắng build hoặc chạy một dự án .NET, bạn gặp lỗi build sau trong terminal hoặc cửa sổ Visual Studio Output:

error NETSDK1045: The current .NET SDK does not support targeting .NET 8.0. Either target a .NET SDK version that supports .NET 8.0, or use a .NET SDK version that supports the current target.

Điều này xảy ra do MSBuild engine hoặc .NET CLI đang cố gắng biên dịch mã cho một phiên bản framework cụ thể (trong trường hợp này là .NET 8.0) nhưng không tìm thấy SDK tương thích được cài đặt trên máy tính Windows của bạn, hoặc nó đang bị buộc phải sử dụng phiên bản SDK cũ hơn bởi một tệp cấu hình.

Tóm tắt: Giải pháp nhanh

  • Cài đặt SDK: Tải xuống và cài đặt phiên bản .NET SDK cụ thể từ trang tải xuống chính thức của Microsoft.
  • Cập nhật Visual Studio: Nếu bạn đang sử dụng Visual Studio, hãy mở Visual Studio Installer và cập nhật lên phiên bản mới nhất. .NET 8.0 yêu cầu ít nhất Visual Studio 2022 (v17.8 trở lên).
  • Kiểm tra global.json: Tìm tệp global.json trong dự án hoặc các thư mục cha. Nếu nó chỉ định một phiên bản cũ hơn, quá trình build sẽ thất bại ngay cả khi bạn đã cài đặt SDK mới.

Nguyên nhân gốc rễ chi tiết

1. Thiếu phiên bản SDK

Nguyên nhân phổ biến nhất đơn giản là chưa cài đặt .NET 8.0 SDK. Windows không phải lúc nào cũng tự động cập nhật .NET SDK thông qua Windows Update; chúng thường yêu cầu cài đặt thủ công hoặc cập nhật Visual Studio.

2. Không tương thích phiên bản Visual Studio

Visual Studio và .NET SDK được liên kết chặt chẽ với nhau. Nếu bạn đang cố gắng sử dụng .NET 8.0 nhưng lại đang chạy Visual Studio 2019 hoặc phiên bản cũ hơn của Visual Studio 2022, phiên bản MSBuild nội bộ sẽ không biết cách xử lý cấu trúc dự án .NET 8.0.

3. Hạn chế qua global.json

Tệp global.json được sử dụng để khóa một dự án vào một phiên bản .NET SDK cụ thể. Nếu một đồng nghiệp đã tạo tệp này và chỉ định .NET 6.0, trong khi bạn đã cập nhật dự án để nhắm mục tiêu .NET 8.0, CLI sẽ vẫn cố gắng sử dụng SDK 6.0 và gây ra lỗi NETSDK1045.

4. Không khớp kiến trúc (x86 so với x64)

Trên Windows 64-bit, bạn có thể đã cài đặt phiên bản x86 của SDK nhưng dự án lại đang tìm kiếm phiên bản x64, hoặc biến môi trường PATH của bạn đang trỏ đến C:\Program Files (x86)\dotnet\ thay vì C:\Program Files\dotnet\.

Các bước khắc phục

Cách 1: Xác minh và cài đặt SDK chính xác

Đầu tiên, hãy kiểm tra các phiên bản hiện đang có trên hệ thống của bạn. Mở PowerShell hoặc Command Prompt và chạy:

dotnet --list-sdks

Nếu bạn không thấy 8.0.xxx trong danh sách, bạn phải cài đặt nó. Truy cập Trang tải xuống .NET 8.0 và tải bộ cài đặt SDK x64 cho Windows. Khởi động lại terminal sau khi cài đặt.

Cách 2: Cập nhật Visual Studio 2022

Hỗ trợ .NET 8.0 đã được giới thiệu trong Visual Studio 2022 phiên bản 17.8. Nếu bạn đang ở phiên bản 17.7 hoặc thấp hơn, bạn sẽ thấy lỗi NETSDK1045.

  • Mở Visual Studio Installer.
  • Nhấp vào Update trên phiên bản Visual Studio 2022 của bạn.
  • Sau khi cập nhật, hãy đảm bảo rằng workload ".NET desktop development" đã được chọn và ".NET 8.0 Runtime" được chọn trong tab các thành phần riêng lẻ.

Cách 3: Sửa lỗi global.json

Tìm kiếm trong thư mục gốc của dự án tệp có tên global.json. Nó thường trông như thế này:

{
  "sdk": {
    "version": "6.0.100"
  }
}

Nếu tệp này tồn tại, nó sẽ ghi đè lên tất cả các thiết lập khác. Bạn có hai lựa chọn:

  • Xóa nó: Điều này cho phép hệ thống sử dụng SDK mới nhất đã cài đặt.
  • Cập nhật nó: Thay đổi chuỗi phiên bản để khớp với .NET 8.0 SDK đã cài đặt (ví dụ: "8.0.100").

Bạn có thể tìm thấy chuỗi phiên bản chính xác của mình bằng cách chạy dotnet --version.

Cách 4: Kiểm tra các biến môi trường

Nếu dotnet --list-sdks hiển thị phiên bản bạn cần nhưng việc build vẫn thất bại, PATH của bạn có thể đang gặp vấn đề. Windows đôi khi ưu tiên đường dẫn dotnet 32-bit (x86) hơn đường dẫn 64-bit.

  • Tìm kiếm "Edit the system environment variables" trong menu Start.
  • Nhấp vào Environment Variables.
  • Trong mục System variables, tìm Path và nhấp vào Edit.
  • Đảm bảo rằng C:\Program Files\dotnet\ nằm trên C:\Program Files (x86)\dotnet\.

Xác minh: Cách xác nhận lỗi đã được khắc phục

Sau khi thực hiện các bước trên, hãy chạy các lệnh sau trong thư mục dự án của bạn:

# Kiểm tra phiên bản đang hoạt động
dotnet --version

# Thử build dự án
dotnet build

Nếu quá trình build thành công mà không có lỗi NETSDK1045, môi trường của bạn đã được cấu hình đúng. Nếu bạn đang sử dụng Visual Studio, hãy thử làm sạch solution (Build > Clean Solution) và khởi động lại Visual Studio để đảm bảo nó nhận các đường dẫn SDK mới.

Đọc thêm

Related Error Notes