.NET — แก้ Error NETSDK1061 เมื่อ Build / Publish โปรเจคแบบ Self-contained

wk
Nov 26, 2020

--

ตัวอย่าง

มี 2 โปรเจคที่ Target netcoreapp2.1 แต่โปรเจคที่ 2 มีการระบุ Runtime เป็น win7-x64 และมี Reference ไปหาโปรเจคแรก

เมื่อ Build โปรเจค MyWindowsWeb.csproj จะเกิด Error ต่อไปนี้

สาเหตุ

เกิดจากการ Build โปรเจคแบบ Self-contained เช่น ระบุ RuntimeIdentifier เป็น win7-x64 โปรแกรมจะ Build และใช้ Runtime เวอร์ชันล่าสุด เช่น Microsoft.AspNetCore.App/2.1.23 เพื่อให้ได้ Patch ใหม่สุดสำหรับ Deploy

ปัญหาคือ .NET จะปรับเวอร์ชัน Runtime เฉพาะโปรแกรมที่กำลัง Build คือ MyWindowsWeb.csproj เท่านั้น ส่วนโปเจคที่ Reference ถึง ยังใช้ Runtime เวอร์ชันปัจจุบันที่ติดตั้งในเครื่อง ซึ่งจะทำให้ 2 โปรเจคมีเลขเวอร์ชัน Runtime ไม่ตรงกัน

วิธีแก้

ให้ปรับ Property TargetLatestRuntimePatch เป็น true เพื่อให้ทั้ง 2 โปรเจคใช้ Runtime เวอร์ชันล่าสุดเสมอ

--

--

No responses yet