[.NET] MSBUILD error MSB4236: The SDK ‘Microsoft.NET.Sdk’ specified could not be found.

เครื่อง Build Jenkins ของ .NET หลังจาก Build เสถียรมาได้พักใหญ่ๆ หลังย้าย Code มาใช้ Git แล้ว วันนี้มี Error จากเครื่อง Build แจ้งมา ดังรูปครับ

พอเข้าไปดู Console Log ของ Jenkins ระบบแจ้ง Error มา ดังนี้ครับ

"D:\01GITMAIN\DSApp-Dev.sln" (Clean target) (1) ->
 "D:\01GITMAIN\DS.Admin.UI\DS.Admin.UI-Dev.csproj" (Clean target) (101:5) ->
 "D:\01GITMAIN\DS.Admin.DTO\DS.Admin.DTO.Standard.csproj" (GetTargetFrameworks target) (84:7) ->
   D:\01GITMAIN\DS.Admin.DTO\DS.Admin.DTO.Standard.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
 "D:\01GITMAIN\DSApp-Dev.sln" (Clean target) (1) ->
 "D:\01GITMAIN\DS.Admin.UI\DS.Admin.UI-Dev.csproj" (Clean target) (101:5) ->
 "D:\01GITMAIN\DS.Admin.Service\DS.Admin.Service.Standard.csproj" (GetTargetFrameworks target) (36:7) ->
   D:\01GITMAIN\DS.Admin.Service\DS.Admin.Service.Standard.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
 "D:\01GITMAIN\DSApp-Dev.sln" (Clean target) (1) ->
 "D:\01GITMAIN\DS.Admin.UI\DS.Admin.UI-Dev.csproj" (Clean target) (101:5) ->
 "D:\01GITMAIN\DS.Invest.DTO\DS.Invest.DTO.Standard.csproj" (GetTargetFrameworks target) (81:40) ->
   D:\01GITMAIN\DS.Invest.DTO\DS.Invest.DTO.Standard.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
 "D:\01GITMAIN\DSApp-Dev.sln" (Clean target) (1) ->
 "D:\01GITMAIN\DS.Admin.UI\DS.Admin.UI-Dev.csproj" (Clean target) (101:5) ->
 "D:\01GITMAIN\DS.Invest.Service\DS.Invest.Service.Standard.csproj" (GetTargetFrameworks target) (19:35) ->
   D:\01GITMAIN\DS.Invest.Service\DS.Invest.Service.Standard.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.

สาเหตุ

  • ตัว MSBuild หรือ Visual Studio หาตัว .NET Core SDK ที่ติดตั้งไม่เจอครับ

การแก้ไข

  • ตรวจสอบก่อนมีการติดตั้ง .NET Core SDK หรือ ไม่
    • ถ้าไม่มี Download และติดตั้่งให้เรียบร้อยครับ
    • สำหรับขผงผม เครื่อง Build เป็น Windows นะครับ เลยตัดสินใจเลือกแบบ X64 ครับผม
  • ตรวจสอบ Path Variable ว่ามีการใช้ Path ที่ติดตั้่ง .NET Core SDK หรือ ยังครัีบ ถ้ายังไม่มีให้เพิ่มเข้าไปครับ โดยกำหนดตาม Architecture ที่เลือกไว้ครับ
    • X86 Path: C:\Program Files (x86)\dotnet
    • X64 Path: C:\Program Files\dotnet
  • แก้ไข Path Variable ให้ถูกต้องตามขั้นตอน ดังรูป
  • จากนั้นทดสอบ Build อีกครั้ง

หมายเหตุ : ถ้ายัง Build ไม่ได้ ต้องลองวิธีใน C# - MSBUILD throws error: The SDK 'Microsoft.NET.Sdk' specified could not be found - Stack Overflow ที่ให้กำหนด global.json ใน Solution และระบุถึงเวอร์ชันของ SDK ที่ต้องการ ดังนี้

{  "sdk": {    "version": "3.1.100"  }}


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.