วิธีแก้ปัญหาไม่สามารถใช้งาน VS2017 และ VS2019 พร้อมกันได้

Petch Kruapanich
readmoreth
Published in
2 min readJul 18, 2019
Photo by Anete Lūsiņa

ถ้าใครใช้งาน Visual Studio 2017 และกำลังจะลง Visual Studio 2019 คุณอาจจะกำลังเจอปัญหาว่าไม่สามารถเปิดโปรเจคเก่าๆ ใน Visual Studio 2019 ได้ เพราะมันจะขึ้นข้อความว่า Unload Project พร้อมกับ Error message ประมาณนี้ใน Output Panel (ขออภัยไม่ทันได้ cap รูปไว้)

VS 2019 The tools version “15.0” is unrecognized. Available tools versions are “14.0”, “2.0”, “3.5”, “4.0”

ถ้าคุณเจอ Error หน้าตาประมาณนี้ ยินดีด้วย บทความนี้อาจจะช่วยให้คุณแก้ปัญหาดังกล่าวได้ โดยทำตามขั้นตอนต่อไปนี้ได้เลยครับ

ตรวจสอบ version ของ msbuild

หลังจากที่เราติดตั้ง Visual Studio 2019 แล้ว ตามหลัก msbuild ของเราควรจะเป็น Version 16.1.xx.xxxxx ถ้าไม่ใช่เวอร์ชั่นประมาณนี้ แสดงว่าเครื่องของคุณยังอ่าน Global Assembly Cache (GAC) ของ msbuild ตัวเก่าอยู่

โดยวิธีการตรวจสอบก็ทำได้โดยเปิด Developer Command Prompt for VS 2019 และพิมพ์คำสั่งว่า msbuild /version เพื่อดูเวอร์ชั่น

ลองดูเวอร์ชั่นแล้วพบว่าเป็นเวอร์ชั่น 15.x.xx.xxx

เคลียร์ GAC ของ Microsoft.Build

เมื่อพบว่าเครื่องของเรายังใช้ msbuild ตัวเก่า สิ่งที่ต้องทำก็คือ ทำการเคลียร์ Cache ด้วยคำสั่งต่อไปนี้

$ gacutil.exe /u "Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"$ gacutil.exe /u "Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"$ gacutil.exe /u "Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"$ gacutil.exe /u "Microsoft.Build.Engine, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"$ gacutil.exe /u "Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"

เมื่อรันจนครบ และลองตรวจสอบ version ด้วยคำสั่ง msbuild /version อีกครั้ง จะพบว่ามันเป็นเวอร์ชั่น 16.1.xx.xxxxx เรียบร้อยแล้ว

จะพบว่าเป็นเวอร์ชั่น 16.x.xx.xxx แล้ว

ปล. ถ้าใครที่ลง VS2019 โดยไม่เคยติดตั้งเวอร์ชั่นที่ต่ำกว่า น่าจะไม่เจอปัญหานี้ เพราะว่ามันยังไม่มี GAC ของเวอร์ชั่น 15.x.xx.xxxxx ติดตั้งไว้นั้นเอง

--

--

Petch Kruapanich
readmoreth

Full time Developer, Part time writer, Vinyl lover