ลองใช้ NuGet Explorer มา Pack dll เป็น NuGet Package (.nupkg)

พอดีลองมาไล่จัดการข้อมูลต่างๆลง NAS พบว่าเจอรูปที่ Cap ไว้ แต่ไม่ได้เขียน Blog หลังจากระลึกชาติสักพัก อ๋อ มันเป็นวิธีการที่เอาพวก DLL Dotnet อาจจะเป็นซากอารยธรรม Code หายไปแล้ว เหลือไว้ DLL มาทำเป็น NuGet Package ซึ่งการทำ NuGet Package มีหลายอย่างเลยครับ เช่น

  • แจกจ่ายได้ง่าย จะเอาขึ้น NuGet Org หรือ Local Repository อย่าง Nexus ก็ได้ครับ
  • สามารถกำหนด Requirement ขั้นต่ำพวก runtime หรือ dependency ที่ต้องใช้ได้ครับ

สำหรับเครื่องอันนี้เป็น GUI โดยเป็นเครื่องมือที่มีชื่อว่า NuGet Explorer ครับ

ขั้นตอน Pack dll เป็น NuGet Package (.nupkg) โดยใช้ NuGet Explorer

  • เปิด NuGet Explorer ขึ้นมาเลือก
  • กดที่เครื่องหมายปากกา มุมซ้ายบน เพื่อแก้ไข Metadata

ปรับแก้ Metadata ได้ตามต้องการเลยครับ โดยมีข้อมูลหลาบส่วน ได้แก่

  • ข้อมุลทั่วไป อย่างชื่อ Package / Version / Author / License
  • ข้อมูลการ Sign
  • รวมถึงการกำหนด Dependency ด้วยครับ ว่าต้องการอะไร

ตัวอย่างการ Metadata ของ YARP NuGet Package ครับ สำหรับข้อมูลในส่วนนี้ ผมจะแก้ไมได้นะครับ ดูได้อย่างเดียว เจ้าของทำการ Sign Package ไว้ เราต้องมี Key / Cert ถึงแก้ได้ครับ แต่ถ้าลองข้อมูล จะเห็นว่าคนสร้างเค้าแยก NuGet / Lib สำหรับ dotnet 6 / 7 / และ 8 ครับ

กลับมาที่ของเรากันต่อ ถ้าต้องการ Edit Metadata เพิ่ม Depdency / Assembly Reference เราสามารถเลื่อนลงมา กดตามรูปได้ครับ ตัวอย่างจะแสดงให้เห็นการเพิ่ม NuGet Dependency ครับ มีทั้งดึงจาก package source nuget.org หรือ local repo อย่าง nexus ก็ทำได้ครับ ถ้าสาย hardcore หน่อย พิมพ์ลงไปเลยครับ Tools เปิดช่องให้แล้วครับ ^__^

หลังจากแก้ไข Metadata จนพอใจแล้ว เรามา Add Dll กันครับ ของผมจะเป็น Lib dotnet framework 4.7 ที่ปกติ จะ Ref ด้วย Dll คราวนี้ เราจะมาเปลี่ยนเป็น NuGet Package ครับ

ผลลัพธ์จะได้ประมาณนี้ครับ

จากนั้นเพิ่ม Lib dll เข้ามาครับ คลิกขวาเลือก Add Existing File

เลือกไฟล์ Dll ที่ต้องการ แล้วกด OK จะได้ผลลัพธ์ มาประมาณนี้ครับ

Save & Pack

save ข้อมูล เลือกเมนู File > Save Metadata As เราจะได้เป็น nuspec มาครับ

หลังจากเตรียมข้อมูล NuGet เรียบร้อย ขั้นตอนกันไป Pack เป็น NuGet Package ครับ โดยเลือกเมูน File > Export หรือ File > Save As จากนั้นทำตามขั้นตอนได้เลยครับ

กรณีที่ต้องการอยากจะ Sign Nuget เลือก File > Sign and Save As แทนครับ

ตัวอย่างของ Yarp

หลังได้ตัว NuGet Package + nuspec แล้ว เราอาจจะเอาขึ้น Repository อย่าง nuget.org หรือ nexus ได้ ครับ โดยไปที่ menu File > Publish เพื่อเอาตัว .nupkg ขึ้นไปครับ โดยต้องกำหนด repo url / PAT

จบแล้วครับ ได้เขียนสักทีหลังจาก Cap รูปมานานมครับ 5555 อ๋อ แล้วถ้าใช้ dotnet pack ใน CI/CD ไม่ต้องมาทำนะครับ แต่ Tools NuGet Explorer ใช่ว่ามันจะหมดประโยชน์ มันยังเข้าไปส่องข้อมูล โครงการ NuGet Package ที่เราสนใจได้อยู่ครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.